我不知道如何开始Intent
来调用ContextMenu
中的其他活动。我有以下代码:
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.profile);
Button button5 = (Button) findViewById(R.id.button5);
registerForContextMenu(button5);
//...code...//
@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo){
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle("Profile Options");
menu.add(0,v.getId(),0, "Header");
menu.add(0,v.getId(),0, "Header");
**This is where my Intent is ** Intent intent = new Intent (CustomizeActivity2.this, CustomizeActivity.class);
startActivity(intent);
public boolean OnContextItemSelected(MenuItem item) {
if(item.getTitle()=="Edite Profile"){
function1(item.getItemId());
}
else {return false;}
return true;
}
public void function1(int id){
Toast.makeText(this,"Edit Profile Called", Toast.LENGTH_SHORT).show();
}
当我点击ContextMenu
中的项目时,我想开始另一项活动,我有一些设置。
答案 0 :(得分:2)
您的代码中存在一些错误。构建onCreateContextMenu
的{{1}}方法:
ContextMenu
当用户从@Override
public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo){
super.onCreateContextMenu(menu, v, menuInfo);
menu.setHeaderTitle("Profile Options");
menu.add(0, 1000, 0, "Header1"); // give your menus distinct ids!!!
menu.add(0, 1001, 0, "Header2");
}
中选择其中一个选项并启动新活动时调用回调:
ContextMenu
答案 1 :(得分:0)
要在创建新意图所需的代码中的任何位置启动活动,将目标组件设置为目标活动类,然后使用此intent参数调用startActivity方法。
答案 2 :(得分:0)
// in my Util.java:
static void switchActivity(Activity from, Class<?> to) {
Intent intent = new Intent(from, to);
from.startActivity(intent);
from.finish(); // only do this if you want to close the current activity
}
// in your context menu:
Util.switchActivity(this, AnotherActivity.class);
答案 3 :(得分:0)
确保您已在Manifest中声明了第二个活动(您正在呼叫的活动)。您不会收到编译错误,但Android无法启动清单中尚未定义的活动,即使它位于您当前的包/ apk中。
如果需要,请向我们展示您的manifest.xml文件包含的内容,如果有任何需要更改的话,我们会更好地了解。
编辑:确保您在清单中看到类似的内容
<activity android:name=".CustomizeActivity" />