Android 单击时禁用GridView项目
我有一个Android 单击时禁用GridView项目,android,gridview,Android,Gridview,我有一个GridView,它是从SQLite数据库条目动态生成的。当用户点击其中一个GridView项目时,活动开始。在点击和活动启动期间,有一瞬间,用户可以快速点击其他Gridview项目,启动其onItemClick方法。有没有办法在选择一种方法后禁用所有GridView项onItemClick方法 代码如下: gridView = (GridView) findViewById(R.id.gridView); nautsList = db.getAllNauts(); nautsGridA
GridView
,它是从SQLite数据库条目动态生成的。当用户点击其中一个GridView
项目时,活动开始。在点击和活动启动期间,有一瞬间,用户可以快速点击其他Gridview
项目,启动其onItemClick
方法。有没有办法在选择一种方法后禁用所有GridView
项onItemClick
方法
代码如下:
gridView = (GridView) findViewById(R.id.gridView);
nautsList = db.getAllNauts();
nautsGridAdapter = new AwesomenautGridViewAdapter(this, R.layout.gridview_item, nautsList);
gridView.setAdapter(nautsGridAdapter);
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
//do stuff
Intent intent = new Intent(AwesomenautSelectionActivity.this, AwesomenautSoundActivity.class);
startActivity(intent);
}
});
gridView=(gridView)findViewById(R.id.gridView);
nautsList=db.getAllNauts();
nautsGridAdapter=新的AwesomenautGridViewAdapter(此,R.layout.gridview_项,nautsList);
setAdapter(nautsGridAdapter);
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
public void onItemClick(AdapterView父视图、视图v、,
内部位置,长id){
//做事
意向意向=新意向(AwesomenautSelectionActivity.this、AwesomenautSoundActivity.class);
星触觉(意向);
}
});
我会使用这个简单的解决方案。它已成功应用于我们的应用程序中。
创建一个全局布尔值itemsLocked
,并在单击时将其设置为true。在startActivity之前将其设置回false。最后,在方法onItemClick
add中
if (itemsLocked) return;
编辑:方法onItemClick
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
if (itemsLocked) return;
itemsLocked = true;
//do stuff
Intent intent = new Intent(...);
itemsLocked = false;
startActivity(intent);
}
public void onItemClick(AdapterView父视图、视图v、,
内部位置,长id){
如果(项目锁定)返回;
itemsLocked=true;
//做事
意向意向=新意向(…);
itemsLocked=false;
星触觉(意向);
}
这是一个非常好、简单、优雅的解决方案!工作完美。非常感谢