我见过一堆应用程序,在ListView上按住一个条目(比点击更长)会产生一个弹出窗口。它通常列出了对条目采取的操作(编辑,删除等)。如何在Android上实现弹出窗口?
这是内置于Android的东西或我必须建立自己的东西?
我见过一堆应用程序,在ListView上按住一个条目(比点击更长)会产生一个弹出窗口。它通常列出了对条目采取的操作(编辑,删除等)。如何在Android上实现弹出窗口?
这是内置于Android的东西或我必须建立自己的东西?
您可以创建一个对话框(有很多关于Android对话框的文档,您可以从这里开始http://developer.android.com/guide/topics/ui/dialogs.html)。或者,您可以开始另一项活动,这对我来说似乎更适合Android,尽管它可能只是一种感觉。
就像之前的海报说的那样,你可以创建一个对话框,并且你提到的长按可以使用setOnItemLongClickListener
实现。祝你好运!
(编辑从longclick听者到itemlongclick)
保持的条目的位长将触发上下文菜单。
使用此在的onCreate:
registerForContextMenu(getListView());
然后覆盖:
@Override
public boolean onContextItemSelected(MenuItem item) {
AdapterContextMenuInfo info = (AdapterContextMenuInfo) item
.getMenuInfo();
int idcompte = mComptes.get(info.position).getId();
switch (item.getItemId()) {
case DELETE_ID:
DBhelper dBhelper = new DBhelper(this);
dBhelper.open();
dBhelper.deleteCompte(idcompte);
dBhelper.close();
onResume();
return true;
case EDIT_ID:
Intent intent = new Intent(this, AddorupdateCompteActivity.class);
intent.putExtra(AddorupdateCompteActivity.ID, idcompte);
startActivity(intent);
return true;
}
return super.onContextItemSelected(item);
}
上述建议不喜欢看的最直接的方法给我。就像一个ListView有一个setOnItemSelectedListener
一样,有一个等效的长点击,称为setOnItemLongClickListener
。
如果您将此听众与onContextItemSelected
(如Noureddine AMRI所示)结合起来用于您的实际上下文菜单,则您已获得所需的一切。实现示例非常普遍。
只是为了澄清,你的意思是[这个UI模式](http://www.androidpatterns.com/uap_pattern/quick-actions)? – 2011-12-23 20:13:24
@alextsc我不需要它那么花哨,但是,这足够接近。 – AngryHacker 2011-12-23 20:59:49