0

リストビューでクリックしたアイテムを取得するには?

これが私のコードです:

public class MainClass extends Activity {
    ArrayList <String> listItems = new ArrayList<String>();
    ArrayAdapter <String> adapter;
    ListView listView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_layout);

        adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, listItems);
        listView = (ListView) findViewById(R.id.listView1);
        listView.setAdapter(adapter);
        listItems.add("Item 1");
        listItems.add("Item 2");
        listItems.add("Item 3");
        adapter.notifyDataSetChanged();

        listView.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View arg0) {
                // TODO Auto-generated method stub
                Toast.makeText(getApplicationContext(),
                        listView.getItemAtPosition(0).toString(),
                        Toast.LENGTH_LONG).show();
            }
        });
    }
}

しかし、毎回強制終了します。

4

3 に答える 3

1

onItemClickListenerリスト内のアイテムを操作する場合は、を使用する必要があります。これにはメソッド内に position 引数があり、これを使用してその位置の値を取得できます。

于 2013-06-20T16:55:06.577 に答える
0
try :

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                public  void onItemClick(AdapterView parent,
                        View view, int pos, long id) {




                    String item=(String)((TextView) view).getText();
Toast.makeText(getApplicationContext(),
                        listView.getItemAtPosition(0).toString(),
                        Toast.LENGTH_LONG).show(); 

                }
        });
于 2013-06-20T16:56:57.780 に答える