单击List项后,如何禁用OnItemClick()?我试图在网格视图中显示项目列表。一旦用户点击一个项目,他就不可能再次点击同一项目并再次触发onClick操作。
答案 0 :(得分:2)
我认为你必须发挥作用。你需要做的是在onItemClickListener里面你维护被点击的项目列表。使用那个位置参数。
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int position,
long arg3) {
}
现在当点击项目时,你扫描之前是否按下了这个项目,如果它之前没有按下它什么都不做(你可以在再次点击它时自己完成任务)否则如果它第一次被点击,那么你必须做两个任务: 1.在点击的项目中标记其条目 2.完成你想要的任务。
答案 1 :(得分:0)
我认为你需要维持一些clickcount
才能做到这一点。只要你点击它就会发现..它会调用onItemClick()
否则你可以使clickable
为假点击它所在的位置。
答案 2 :(得分:0)
list.setClickable(false)应该做的伎俩
http://developer.android.com/reference/android/view/View.html#setClickable(boolean)
答案 3 :(得分:0)
谢谢大家。 是的,Kartik的想法会很好。我已通过以下方式解决了这个问题:
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
if(position==0){
if(click1==0){
point+=125;
Toast.makeText(Rewards.this, "125 points added", Toast.LENGTH_SHORT).show();
click1++;
}
else{
isEnabled(position);
}
}
public boolean isEnabled(int position) {
boolean val=true;
if(position==0){
val=false;
}
return val;
}
您可以对所有位置使用相同的逻辑,它可以正常工作。