私はAndroidが初めてで、次のコードが機能しない理由を理解しようとしています:
...
matList = (ListView) findViewById(android.R.id.list);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_multiple_choice, mats);
matList.setAdapter(adapter);
matList.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
matList.setOnItemClickListener(this);
CheckedTextView v =(CheckedTextView) adapter.getView(1, null, null);
v.setText("n1");
特定の行のテキストが変更されることはありません。このようにアイテムをクリックして実行する別の方法を見つけました(上から続く):
matList.performItemClick(adapter.getView(i, null, matList), 2, 2);
}
public void onItemClick(AdapterView<?> arg0, View v, int p, long arg3) {
CheckedTextView mat = (CheckedTextView) v;
mat.setText("n2");
}
それはうまくいきます... ListViewの2行目は「n2」になり、最初の行は同じままです...しかし、何らかの理由でそれを行う正しい方法とは思えません。できる限り検索しましたが、何も見つかりませんでした。最初の方法が機能しない理由を理解するのを手伝ってください。