我编写了以下代码,但它仅适用于前 3 个列表项,其余的会引发空指针异常。
list.setOnItemLongClickListener(new OnItemLongClickListener() {
public boolean onItemLongClick(AdapterView<?> arg0, View arg1,final int arg2, long arg3) {
// TODO Auto-generated method stub
for(int i = 0; i <=list.getLastVisiblePosition(); i++)
{
System.out.println("onItemLongClick"+i);
if(i==arg2)
{
(list.getChildAt(i).findViewById(R.id.mark)).setVisibility(View.VISIBLE);
(list.getChildAt(i).findViewById(R.id.deleteitem)).setVisibility(View.VISIBLE);
}
else{
(list.getChildAt(i).findViewById(R.id.mark)).setVisibility(View.GONE);
(list.getChildAt(i).findViewById(R.id.deleteitem)).setVisibility(View.GONE);
}
}
(list.getChildAt(arg2).findViewById(R.id.deleteitem)).setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(AllMessagesActivity.this, "Delete at" +arg2, Toast.LENGTH_LONG).show();
}
});
(list.getChildAt(arg2).findViewById(R.id.mark)).setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
Toast.makeText(AllMessagesActivity.this, "Mark Spam at" +arg2, Toast.LENGTH_LONG).show();
}
});
return false;
}
});
在列表项中只有一个文本项和两个按钮。当我单击一个列表项时,只有该项目的两个按钮必须可见,其余的列表项按钮不可见。当您单击其他列表项时,先前选定的项目按钮也会禁用。上面的代码仅适用于列表的前 3 项,但并不适用于所有项目。
先感谢您。