0

朋友们,我正在使用 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);
        }

    });
}

}

4

3 回答 3

0

您可以使用实现 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) {
        }
}
于 2012-06-06T06:33:02.910 回答
0

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");
于 2012-06-06T06:34:10.123 回答
0

您应该使用setOnItemClickListener而不是setOnItemSelectedListener.

于 2017-01-09T09:38:13.043 回答