0

私は ListView を持っています。コードで行う OnItemSelectedListner を作成したいと思います。これを mylistener と呼びます。list.setOnItemSelectedListener が mylistener を受け入れないのはなぜですか?

助けてくれてありがとう

ListView list = (ListView)findViewById(android.R.id.list);
        ArrayAdapter<String> adapter = new ArrayAdapter<String>    (this,android.R.layout.simple_list_item_1,array);
        list.setAdapter(adapter);   
        list.setOnItemSelectedListener(mlistener);
        AdapterView.OnItemSelectedListener mlistener = new     AdapterView.OnItemSelectedListener(){
        @Override
            public void onItemSelected(AdapterView<?> arg0, View arg1,
                    int arg2, long arg3) {
                Toast.makeText(getApplicationContext(),"selezionato",     Toast.LENGTH_LONG).show();            
            }
            @Override
            public void onNothingSelected(AdapterView<?> arg0) {
                // TODO Auto-generated method stub
            }

        };
4

3 に答える 3

3

mlistener使用する前に宣言して初期化する必要があります。

于 2012-12-04T11:02:03.620 に答える
2

前にリスナーを作成してみてくださいlist.setOnItemSelectedListener(mlistener);

于 2012-12-04T11:03:52.293 に答える
0

コードを並べ替えるだけです:

ListView list = (ListView)findViewById(android.R.id.list);
ArrayAdapter<String> adapter = new ArrayAdapter<String> this,android.R.layout.simple_list_item_1,array);
AdapterView.OnItemSelectedListener mlistener = new AdapterView.OnItemSelectedListener(){
    @Override
    public void onItemSelected(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
        Toast.makeText(getApplicationContext(),"selezionato", Toast.LENGTH_LONG).show();            
    }
    @Override
    public void onNothingSelected(AdapterView<?> arg0) {
        // TODO Auto-generated method stub
    }
};

list.setAdapter(adapter);   
list.setOnItemSelectedListener(mlistener);
于 2012-12-04T11:05:27.660 に答える