我是新來的android,我想在屏幕上顯示與CheckedTextView在屏幕上的幾個元素已經檢查,但不能成功,我的列表視圖總是未選中 這裏是我的代碼,Android的ListView與CheckedTextView,填充少數選中的行
final ListView listView = (ListView) findViewById(R.id.BusRoutesList);
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(getApplicationContext(), R.layout.routes_list_item, R.id.stop_checkedtextbox, routesSubList);
listView.setAdapter(arrayAdapter);
for (int i = 0; i < routesSubList.size(); i++) {
if (selectedRoutesList.contains(routesSubList.get(i))) {
//listView.setItemChecked(i,true); No Luck
View v = listView.getAdapter().getView(i, null, null);
CheckedTextView checkedTextView = (CheckedTextView) v.findViewById(R.id.stop_checkedtextbox);
checkedTextView.setChecked(true);//I get correct row to be checked but not shown on screen
}
}
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int position,
long id) {
CheckedTextView checkedTextView = (CheckedTextView) view.findViewById(R.id.stop_checkedtextbox);
boolean checked = checkedTextView.isChecked();
// String str =
if (checked) {
checkedTextView.setChecked(false);
selectedRoutesList.remove(listView.getItemAtPosition(position).toString());
} else {
selectedRoutesList.add(listView.getItemAtPosition(position).toString());
checkedTextView.setChecked(true);
}
}
});
請指點,我不知道如果我失去了一些東西
不檢查意見的ListView - 那是徒勞的 - 他們正在回收,要正確設置要在ListView中檢查的項目,請使用[ListView.setItemChecked](https://developer.android.com/reference/android/widget/AbsListView.html)方法 – nekavally
嘗試setItemChecked也沒有運氣(int i = 0; i
vicky