【问题标题】:How to use the seletedItem from the AutoCompleteTextView dropdown list?如何使用 AutoCompleteTextView 下拉列表中的 seletedItem?
【发布时间】:2019-11-18 04:01:05
【问题描述】:

朋友们,我正在使用 AutoCompleteTextView。建议:

String[] recipes={ "Fish", "Chicken", "Mutton"};

我该怎么做:

当我从下拉列表中选择一个项目时,它会转到另一个事件吗?

例如,我输入Fi,它会从下拉列表中出现Fish,然后我选择Fish,它会转到另一个Activity强>。

package net.learn2develop.Activities;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.AdapterView;
import android.view.View;
import android.content.Intent;

public class AutoCompleteTextActivity extends Activity {

String[] recipes ={
        "Nasi Lemak With Ikan Bilis",
        "Steamed Cod Fish"
};
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,              android.R.layout.simple_dropdown_item_1line, recipes);


    AutoCompleteTextView textView = (AutoCompleteTextView)    findViewById(R.id.txtRecipes);

    textView.setThreshold(3);
    textView.setAdapter(adapter);

    textView.setOnItemSelectedListener(new OnItemClickListener(){
        public void onItemClick(AdapterView<?> av, View view, int index, long id){

             Intent i=new Intent(this,Activity2.class);
             i.putExtra("item",recipes[index]);
             StartActivity(i);
        }

    });
}

}

【问题讨论】:

    标签: android


    【解决方案1】:

    您可以使用实现 TextWatcher 的类并覆盖以下方法:

            @Override
            public void afterTextChanged(final Editable editable) {
                // check if entered text is "fish" and if yes then start the new activity.
            }
    
    
            @Override
            public void beforeTextChanged(final CharSequence string,
                    final int start, final int count, final int after) {
            }
    
    
            @Override
            public void onTextChanged(final CharSequence string, final int start,
                    final int before, final int count) {
            }
    }
    

    【讨论】:

      【解决方案2】:

      receipesBelow Snippet 将为您提供帮助。

      autoCompleteTextView.setOnItemSelectedListener(new OnItemSelectedListener()
                  {
      
                      @Override
                      public void onItemSelected(AdapterView<?> av, View view,
                              int index, long id)
                      {
                          //index will give you item which you selected
                                          Now start another activity here
                                          Intent i=new Intent(context,SecondActivity.class);
                                          i.putExtra("item",recipes[index]);
                                          StartActivity(i);
      
      
                      }
      
                      @Override
                      public void onNothingSelected(AdapterView<?> arg0)
                      {
                          // TODO Auto-generated method stub
      
                      }
                  })
      

      SecondActivity.java

      您可以像下面这样检索 onCreate 的值

      String selectedItem=getIntent().getStringExtra("item");
      

      【讨论】:

      • 我在 setOnItemSelectedListener 上有错误。我有导入的东西吗?
      • 你有什么错误!如果你将光标指向红线,你会看到错误。
      • 错误显示:AutoCompleteTextView 类型中的方法 setOnItemSelectedListener(AdapterView.OnItemSelectedListener) 不适用于参数(新的 OnItemClickListener{})
      【解决方案3】:

      您应该使用setOnItemClickListener 而不是setOnItemSelectedListener

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-09-17
        • 2011-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-08-08
        相关资源
        最近更新 更多