【问题标题】:Right place for code of populating spinner填充微调器代码的正确位置
【发布时间】:2013-01-22 23:43:20
【问题描述】:

我有一个带有微调控件和文本框的表单;并且表存储在 SQLite 数据库中。

我在活动的 onCreate 方法中填充微调器。调用数据库查询和更新 ui 的地方是正确的吗?

根据用户从微调器中选择的值,我必须在文本框中给出自动建议。 (我可以使用哪个控件代替文本框,我想强制用户从来自数据库的列表中进行选择。)

我也听说过片段,谁能指导我对提高应用程序的性能有帮助吗?

【问题讨论】:

    标签: android


    【解决方案1】:

    您必须使用您想要提供给用户的那一刻起的数据填充您的微调器。所以就在包含Activity的onCreate中。

    更多信息我猜Spinner | Android Developers

    片段使您能够为您的 UI 创建独立的部分。例如一个片段,它包含一个列表和另一个显示所选元素的详细信息的片段。在平板电脑上,您可以将两者并排显示。在小型显示手持设备上,您必须显示列表并在项目选择时显示详细信息。使用 Fragments,您可以重用。看看这里Fragments | Android Developers - 如果您将使用 Fragments,我建议您阅读此内容。它会为您省去麻烦。

    【讨论】:

      【解决方案2】:

      你最好在 onCreate 方法中调用一个函数并在该函数中填充微调器值

       protected void onCreate(Bundle savedInstanceState) {
          // TODO Auto-generated method stub
          super.onCreate(savedInstanceState);
          setContentView(R.layout.spinner);
      
          addItemsOnSpinner1();
      }
      
       public void addItemsOnSpinner1() {
      
          Spinner spinner = (Spinner) findViewById(R.id.spinnerSource);
          List<String> list = new ArrayList<String>();
          list.add("sony");
          list.add("apple");
          list.add("samsung");
          list.add("htc");
          list.add("blackberry");
          ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,
                  android.R.layout.simple_spinner_item, list);
          dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
          Collections.sort(list);
          spinner.setAdapter(dataAdapter);
      

      对于使用片段,请使用此链接When should I use fragments in Android applications ? Why to use fragments?

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-07-20
        • 2023-02-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-01-06
        • 1970-01-01
        相关资源
        最近更新 更多