Pergunta

I want to display listview query separate page when user click particular list. I wrote program for display listview and i implement onitemclick. But when i was clicking listview it won't display query. Eg: If i click one, i want to diplay one: One is the first number.

MyCode:

public class ListViewSearchExample extends Activity {

    private ListView lv;
    private EditText et;
    private TextView tv;
    private String listview_array[] = { "ONE", "TWO", "THREE", "FOUR", "FIVE",
    "SIX", "SEVEN", "EIGHT", "NINE", "TEN" };
    private ArrayList<String> array_sort= new ArrayList<String>();
    int textlength=0;


    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        lv = (ListView) findViewById(R.id.ListView01);
        et = (EditText) findViewById(R.id.EditText01);

        //lv.setAdapter(new ArrayAdapter<String>(this,
        //android.R.layout.simple_list_item_1, listview_array));

        et.addTextChangedListener(new TextWatcher()
        {
        public void afterTextChanged(Editable s)
        {
                                                                        // Abstract Method of TextWatcher Interface.
        }
        public void beforeTextChanged(CharSequence s,
        int start, int count, int after)
        {
        // Abstract Method of TextWatcher Interface.
        }
        public void onTextChanged(CharSequence s,
        int start, int before, int count)
        {
        textlength = et.getText().length();
        array_sort.clear();
        for (int i = 0; i < listview_array.length; i++)
        {
        if (textlength <= listview_array[i].length())
        {
        if(et.getText().toString().equalsIgnoreCase(
        (String)
        listview_array[i].subSequence(0,
        textlength)))
        {
             array_sort.add(listview_array[i]);
        }
        }
        }

        lv.setAdapter(new ArrayAdapter<String>
        (ListViewSearchExample.this,
        android.R.layout.simple_list_item_1, array_sort));
        lv.setOnItemClickListener(new OnItemClickListener(){

            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position,
                    long rowId) {
                 //TODO Auto-generated method stub          

                lv.getItemAtPosition(position);          


                //lv.setBackgroundColor((position & 1) == 1 ? Color.WHITE : Color.LTGRAY);

            }

        });


            }
        });
        }
Foi útil?

Solução

Try something like this in your onItemClick:

String number = listview_array[position];
if (number.equals("ONE")) {
    et.setText("One is the first number");
}
else if (number.equals("TWO")) {
...
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top