,當我作爲使用Android的ListView控件被貌似在一個非常奇怪的問題倒在setItemChecked
listview.setItemChecked()
有在與同一開發者文檔沒有文件確認標誌的項目列表視圖中的順序被顛倒。我感謝任何幫助。
下面是檢查項目部分
CheckBox box = (CheckBox) convertView.findViewById(R.id.select);
box.setOnClickListener(new OnClickListener() {
public void onClick(View view) {
CheckBox checkBox = (CheckBox) view;
list.setItemChecked(position + list.getHeaderViewsCount(), checkBox.isChecked());
final long[] checkedItemIds = list.getCheckedItemIds();
Log.d(Constants.TAG,
"HomeActivity.onCreate(...).new EMListAdapter() {...}.getView(...).new OnClickListener() {...}.onClick: " + Arrays.toString(checkedItemIds));
if (checkedItemIds.length > 0) {
if (mMode == null) {
mMode = startActionMode(new EashmartActionBar(HomeActivity.this) {
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
menu.add(R.string.delete).setIcon(R.drawable.bin).setShowAsAction(MenuItem.SHOW_AS_ACTION_ALWAYS);
return true;
}
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
switch (item.getItemId()) {
case 0:
Log.d(Constants.TAG,
"HomeActivity.onCreate(...).new EMListAdapter() {...}.getView(...).new OnClickListener() {...}.onClick(...).new EashmartActionBar() {...}.onActionItemClicked: "
+ Arrays.toString(checkedItemIds));
invoiceManager.delete(checkedItemIds);
break;
}
mode.finish();
mMode = null;
return true;
}
public void onDestroyActionMode(ActionMode mode) {
for (int i = 0; i < list.getCount(); i++) {
list.setItemChecked(i, false);
}
mMode = null;
}
});
}
} else {
if (mMode != null) {
mMode.finish();
mMode = null;
}
}
}
});
這個問題似乎在4.0
請描述「得到倒置」... – Sam
倒在第一個項目成爲最後,最後成爲第一個 – Amit
好吧,你是對的,這不是「正常」的行爲。請發佈相關代碼,以便我們看到發生了什麼。 – Sam