有两项活动。以下是第一项活动。
@Override
public void onCreate(Bundle savedInstanceState) {
try {
super.onCreate(savedInstanceState);
final CharSequence[] items = {"Pick from gallery", "Shoot now"};
//Prepare the list dialog box
AlertDialog.Builder builder = new AlertDialog.Builder(this);
//Set its title
builder.setTitle("Choose a video");
//Set the list items along with checkbox and assign with the click listener
builder.setSingleChoiceItems(items, 0, new DialogInterface.OnClickListener() {
// Click listener
public void onClick(DialogInterface dialog, int item) {
if(items[item]=="Pick from gallery"){
Toast.makeText(getApplicationContext(), "Choose a video", Toast.LENGTH_SHORT).show();
dialog.dismiss();
Intent r1= new Intent("com.asin.amit.PIC");
r1.putExtra("choice", 1);
startActivity(r1);
}
if(items[item]=="Shoot now"){
Toast.makeText(getApplicationContext(), "Record a video", Toast.LENGTH_SHORT).show();
dialog.dismiss();
Intent r1= new Intent("com.asin.amit.PIC");
r1.putExtra("choice", 2);
startActivity(r1);
}
}
});
AlertDialog alert = builder.create();
//display dialog box
alert.show();
}
catch(Exception e)
{
Toast.makeText(getApplicationContext(), "Unknown issue, Kindly restart the application", Toast.LENGTH_LONG).show();
e.printStackTrace();
}
当用户处于第二个活动状态并按下BACK按钮时,我希望第一个活动开始,但现在只出现黑屏,弹出菜单不可见。我必须旋转手机才能获得菜单。如何默认制作?另外,try
是否需要使用super.onCreate
?
修改
还有一个问题是,在第二项活动中,我正在执行任务,第一项任务是从图库中选择一个视频。如果在此阶段按下BACK
,则会出现空白屏幕,我必须再次按BACK
。怎么避免这个?
答案 0 :(得分:2)
尝试在 onResume()方法中编写alert.show();
,而不是在 onCreate()中编写。
第一个活动的onResume()。
希望这会有所帮助!!
答案 1 :(得分:2)
U可以使用此方法调用后面的Activity
这是我在我的应用中使用的一个例子
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {
// _progressDialog.dismiss();
if (getIntent().getExtras().getString("From").equals("Menu")) {
Intent intent = new Intent(getApplicationContext(),
VideoTypes.class);
intent.putExtra("From",
getIntent().getExtras().getString("From"));
startActivity(intent);
finish();
}
}
return super.onKeyDown(keyCode, event);
}
我希望这会对你有所帮助
答案 2 :(得分:0)
super.onCreate()
是必需的。如果您不打电话,应用程序将崩溃。
您可以使用startActivityForResult()代替startActivity()
。因此,您可以在第二个活动完成后捕捉事件,然后再次显示您的菜单。