是否可以在android中以编程方式创建和填充AutoCompleteTextView?

时间:2015-03-10 14:33:50

标签: android view autofill programmatically-created

我有几周的Android使用经验,我想以编程方式创建和填充AutoCompleteTextView,但我不能因为Activity停止了。 这是我写的代码:

    public class ItemEditor extends LinearLayout {
  String[]  itemList = { "one", "two", "three" };

  public ItemEditor(Context context) {
    super(context);
    this.makeEditor(context);
  }

  void makeEditor(Context context) {
    AutoCompleteTextView item = new AutoCompleteTextView(context);
    item.setId(View.generateViewId());

    ArrayAdapter<String> itemArrayAdapter = new ArrayAdapter<String>(context,
        item.getId(), itemList);

    item.setAdapter(itemArrayAdapter);

    this.addView(item);
  }
}

我按如下方式使用它:

public class ItemEditorActivity extends Activity {

  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    // setContentView(R.layout.activity_message_set_editor);
    this.setContentView(new MessageSetEditor(this));
  }
...
}

一旦我尝试显示ItemEditorActivity,它就会停止。 任何帮助,将不胜感激。 此致

1 个答案:

答案 0 :(得分:0)

我自己解决了这个问题:在数组适配器声明中,我使用了自动完成小部件的id而不是 android.R.layout.select_dialog_item