- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
实际上我在创建项目时遇到了问题。我在一个屏幕上有一个 ListView ,其中数据来自数据库并绑定(bind)到它。我在这里创建了一个上下文菜单,其中包含两个菜单(查看和删除)。我面临的问题是当我长按上下文菜单时,当我点击菜单中的任何一个时,它会导航到另一个屏幕。在这里,我希望 ListView (已单击)项目数据传递到下一个屏幕。我不明白。这是下面的代码...
主.java
/*******some code****/
DbHandler dbh=new DbHandler(GroupName.this);
ast=dbh.selectgroupnam(s);
//here "ast" is of ArrayList defined globally
ArrayAdapter<String> adp=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,ast);
lv.setAdapter(adp);
registerForContextMenu(lv);
lv.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View v, int p, long arg3) {
// TODO Auto-generated method stub
TextView tv=(TextView)v;
String gnam=tv.getText().toString();
}});
}//on create
//context menu code
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
// TODO Auto-generated method stub
super.onCreateContextMenu(menu, v, menuInfo);
menu.add(0, v.getId(), 0, "View");
menu.add(0, v.getId(), 0, "Delete");
}
@Override
public boolean onContextItemSelected(MenuItem item) {
// TODO Auto-generated method stub
Toast.makeText(getApplicationContext(), "group name" + gnam,30).show();
if (item.getTitle() == "Delete") {
Toast.makeText(getApplicationContext(), "selected group" + gnam, 30).show();
startActivity(new Intent(GroupName.this,GroupEdit.class));
}
else
{
startActivity(new Intent(GroupName.this,GroupEdit.class));
}
return super.onContextItemSelected(item);
}
按照以下代码如何获取 ListView 数据(长按上下文菜单)并将数据传递给 GroupEdit.class。
等待回复......
最佳答案
所以你开始 Activity startActivity(new Intent(GroupName.this,GroupEdit.class))
但是您要添加到 Intent 的任何数据。所以试试 putExtra(<key>,<data>)
或者如果你想使用 Bundle
所以putExtras(<bundle>)
你应该这样:
Intent i = new Intent(GroupName.this,GroupEdit.class);
i.putExtra("key", <data>);
startActivity(i);
然后在新的Activity GroupEdit
你用 getIntent()
得到这些数据方法返回启动此 Activity 的 Intent 和 getExtras()
使用它,您可以从 Intent 中检索扩展数据的映射。
所以在GroupEdit
String text = getIntent().getExtras().getString("keyOfField")
您将使用 Bundle
所以
Intent i = new Intent(GroupName.this,GroupEdit.class);
i.putExtras(bundle);
startActivity(i);
在GroupEdit
您使用 Bundle data = getIntent().getExtras()
检索数据
问候
关于android - 如何从 ListView 获取数据到上下文菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10861761/
我是一名优秀的程序员,十分优秀!