gridView.setOnItemClickListener ( new AdapterView.OnItemClickListener () {
@Override
public void onItemClick ( AdapterView< ? > parent, View view, int position, long id ) {
ViewFlipper viewFlipper= ( ViewFlipper )view.findViewById ( R.id.viewFlipper );
view.setEnabled (false);
view.setClickable ( false );
choose ( viewFlipper, position );
}
} );
想要禁用已单击的项目无法再次单击,直到我设置是否可以再次单击。我使用上面的方法,但是该项目仍然可以单击。希望有人能帮助我,让我点击1次后它就禁用了。
解决方案: 感谢Androider,修改了一下就得到了我想要的。 在适配器上创建一个数组列表,并在表上添加 true。
// put inside the Adapter
ArrayList<Boolean> itemClickable =new ArrayList<Boolean> ();
@Override
public boolean isEnabled ( int position ) {
return itemClickable.get ( position );
}
public void setItemClickable(int position,Boolean typeValue){
itemClickable.add (position,typeValue);
}
//put inside OnCreate /Constructor
for(int j=0;j<picturePath.length;j++){
itemClickable.add ( true );
}
最佳答案
在您的适配器中执行以下操作:
@Override
public boolean areAllItemsEnabled() {
return false;
}
@Override
public boolean isEnabled(int position) {
// according to position return here true or false to enable or disable respectively
return false;
}
更多检查:http://developer.android.com/reference/android/widget/BaseAdapter.html#isEnabled(int) http://developer.android.com/reference/android/widget/ListAdapter.html#areAllItemsEnabled()
关于Android 禁止点击 gridview 上的特定项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33931808/