実際、プロジェクトの作成中に問題が発生しました。データがデータベースから取得され、それにバインドされる1つの画面に1つのリストビューがあります。ここでは、2 つのメニュー (表示と削除) を持つ 1 つのコンテキスト メニューを作成しました。私が直面している問題は、長いクリック コンテキスト メニューを発生させるときと、メニューのいずれかをクリックすると別の画面に移動することです。ここでは、(クリックされた) リストビューの項目データを次の画面に渡したいと考えています。私はそれを取得していません。これは次のコードです...
Main.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);
}
次のコードに従って、リスト ビュー データ (コンテキスト メニューで長押ししたもの) を取得し、そのデータを GroupEdit.class に渡します。
返事を待っています......