相关疑难解决方法(0)

AutoCompleteTextView onItemSelectedListener不起作用

我有AutoCompleteTextView并为它设置onItemSelectedListener,这不起作用.你知道这是什么问题吗?这是我的活动,如果需要,我还可以提供main.xml文件

   package com.chidem;

    import android.app.Activity;
    import android.app.AlertDialog;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.AdapterView;
    import android.widget.AdapterView.OnItemSelectedListener;
    import android.widget.ArrayAdapter;
    import android.widget.AutoCompleteTextView;

    public class ChidemActivity extends Activity implements OnItemSelectedListener{
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            String hop[]=new String[]{
                    "Karen","Mika","Gevor"
            };

            AutoCompleteTextView searchHotels = (AutoCompleteTextView) findViewById(R.id.autoSearch);
            searchHotels.setOnItemSelectedListener(this);

            ArrayAdapter<String> adapter1 = new ArrayAdapter<String>( this, R.layout.list_item, hop);
            searchHotels.setAdapter(adapter1);

        }


        public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2,
                long arg3) {
            Log.d("autocomplete", "itemselected");

        } …
Run Code Online (Sandbox Code Playgroud)

java android

31
推荐指数
3
解决办法
2万
查看次数

Android,ArrayAdapter的add()函数不能正常工作

我有一个附加到AutoCompleteTextView(textView)组件的ArrayAdapter(myAdapter).
一旦用户按下一个字符,我想用包含该字符的项目填充AutoCompleteTextView的下拉列表.
我使用AsyncTask(使用Web服务)检索项目.

我调用myAdapter.add(item)但下拉列表为空.
我在每次添加后添加了一个调用myAdapter.getCount(),每次都显示为零.调用notifyDataSetChanged()没有帮助.
我甚至试图添加简单的String对象而不是我的自定义对象,但无济于事.
我究竟做错了什么?

编辑:我改变了代码,因为miette建议如下,但仍无济于事.
通常,我所做的是在自动完成文本视图中更改文本后,我调用一个新的AsyncTask并将输入的文本和Handler传递给它(请参阅afterTextChanged()).该任务检索与文本相关的对象,一旦完成Handler的handleMessage()被调用.在handleMessage()中,我尝试填充适配器的对象.但仍然适配器的下拉列表结束为空.

这是我的代码:

public class AddStockView extends Activity
        implements OnClickListener, OnItemClickListener, TextWatcher {  

    ArrayAdapter<Stock> adapter;
    AutoCompleteTextView textView;
    Vector<Stock> stocks;
    public AddStockView() {
      // TODO Auto-generated constructor stub
      stocks = new Vector<Stock>();
    }

    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);

      requestWindowFeature(Window.FEATURE_NO_TITLE); 
      setContentView(R.layout.add_stock_view);

      findViewById(R.id.abort_button).setOnClickListener(this);

      adapter = new ArrayAdapter<Stock>(this,
      android.R.layout.simple_dropdown_item_1line, stocks);
      //adapter.setNotifyOnChange(true);
      textView = (AutoCompleteTextView)
      findViewById(R.id.search_edit_text);
      textView.setAdapter(adapter);
      textView.setOnItemClickListener(this);
      textView.addTextChangedListener(this);

    }
    @Override
    public void onClick(View v) {
      // TODO Auto-generated method stub
      switch (v.getId())
      {
        case R.id.abort_button: …
Run Code Online (Sandbox Code Playgroud)

android

11
推荐指数
2
解决办法
2万
查看次数

标签 统计

android ×2

java ×1