私はListView
でチェックされている項目を取得しようとしています。ここで問題となるのは、チェックを外した後にアイテムを取得しようとすると、チェックされているすべての要素が表示され、チェックが外されているということです。たとえば、オプションA、B、Cをチェックしてチェック項目のリストを取得した場合は3となり、オプションBのチェックを外しても、結果は3になります。CheckBoxのいずれかのチェックボックスをオフにした後、ListViewのチェック項目を選択しますか?
public class ClikableList extends Activity implements OnItemClickListener{
/** Called when the activity is first created. */
ListView lv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
lv = (ListView) findViewById(R.id.listView1);
lv.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_multiple_choice, GENRES));
lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
lv.setOnItemClickListener(this);
}
private static final String[] GENRES = new String[] {
"Action", "Adventure", "Animation", "Children", "Comedy", "Documentary", "Drama",
"Foreign", "History", "Independent", "Romance", "Sci-Fi", "Television", "Thriller"
};
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position, long id) {
//Toast.makeText(getBaseContext(),lv.getItemAtPosition(position) + " Test "+lv.getCheckedItemPositions().size(), Toast.LENGTH_SHORT).show();
System.out.println(lv.getItemAtPosition(position));
lv.updateViewLayout(arg1, null);
}}
の代わりに
checkedPositions.valueAt(i)
を使用する必要がありますか? – Macarseこのリンクをチェックしてくださいhttp://www.vogella.de/articles/AndroidListView/article.html(トピック番号8.チュートリアル:ドメインモデルと行のやりとり) –