有两个活动。以下是第一个活动。
@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();
}
当用户处于第二个活动并按下"返回"按钮时,我希望第一个活动开始,但现在只出现黑屏,弹出菜单不可见。我必须旋转手机才能获得菜单。默认情况下如何制作?另外,是否需要将try
用于super.onCreate
?
编辑另一个问题是,在第二个活动中,我正在执行任何任务,第一个任务是从图库中挑选视频。如果在此阶段按下BACK
,则会出现空白屏幕,我必须再次按BACK
。如何避免这种情况?
尝试在onResume()方法中编写alert.show();
,而不是在onCreate()中编写。
当用户从第二个活动预示后退按钮时,将调用第一个活动的 onResume()。
希望这有帮助!!
此方法调用 back 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);
}
我希望这会对你有所帮助
super.onCreate()
是必需的。如果您不调用它,应用程序将崩溃。
您可以使用 startActivityForResult(),而不是 startActivity()
。因此,您可以在第二个活动完成后捕获事件,然后再次显示菜单。