在向上按钮中使用 activity.finish
Using activity.finish in up button
我想为我的 android 应用程序定义一个向上按钮以转到父 activity。单击向上按钮时,我从一些资源中找到了这段代码:
NavUtils.navigateUpFromSameTask(getActivity());
但是我有一个问题,那就是我的 activity 需要一些数据来创建(Intent extras),因此我用这个代码替换了:
getActivity().finish();
但有些感觉告诉我这不是到达父级 activity 的正确方法,也许我以后会遇到一些运行时错误。你觉得我该怎么办?
//this function can used for every key on Phone that pressed
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==event.KEYCODE_VOLUME_UP){
// On Click KEYCODE_VOLUME_UP Commands
// here, every code want to execute
}
return super.onKeyDown(keyCode, event);
}
更新(你想要的 ;-))
在 onCreate:
getActionBar().setDisplayHomeAsUpEnabled(true);
主要 class :
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Toast.makeText(getApplicationContext(), "Khosh begzare", Toast.LENGTH_SHORT).show();
return true;
default:
return super.onOptionsItemSelected(item);
}
Intent myIntent = new Intent(sourceActivity.this,targetActivity.class);
myIntent.putExtra("NameKey", yourValue); // for send a Value with a key name. yourValue can be every type value
startActivity(myIntent);
this.finish();
// and for receive value from target activity
Bundle extraGet = getIntent().getExtras();
String receiveValue = extraGet.getString("NameKey");
您还可以定义 public static
您的变量,可以将其用于每个 class 和活动
我想你想要这个:
Intent intent = NavUtils.getParentActivityIntent(this);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
NavUtils.navigateUpTo(this, intent);
我想为我的 android 应用程序定义一个向上按钮以转到父 activity。单击向上按钮时,我从一些资源中找到了这段代码:
NavUtils.navigateUpFromSameTask(getActivity());
但是我有一个问题,那就是我的 activity 需要一些数据来创建(Intent extras),因此我用这个代码替换了:
getActivity().finish();
但有些感觉告诉我这不是到达父级 activity 的正确方法,也许我以后会遇到一些运行时错误。你觉得我该怎么办?
//this function can used for every key on Phone that pressed
public boolean onKeyDown(int keyCode, KeyEvent event) {
if(keyCode==event.KEYCODE_VOLUME_UP){
// On Click KEYCODE_VOLUME_UP Commands
// here, every code want to execute
}
return super.onKeyDown(keyCode, event);
}
更新(你想要的 ;-)) 在 onCreate:
getActionBar().setDisplayHomeAsUpEnabled(true);
主要 class :
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
Toast.makeText(getApplicationContext(), "Khosh begzare", Toast.LENGTH_SHORT).show();
return true;
default:
return super.onOptionsItemSelected(item);
}
Intent myIntent = new Intent(sourceActivity.this,targetActivity.class);
myIntent.putExtra("NameKey", yourValue); // for send a Value with a key name. yourValue can be every type value
startActivity(myIntent);
this.finish();
// and for receive value from target activity
Bundle extraGet = getIntent().getExtras();
String receiveValue = extraGet.getString("NameKey");
您还可以定义 public static
您的变量,可以将其用于每个 class 和活动
我想你想要这个:
Intent intent = NavUtils.getParentActivityIntent(this);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
NavUtils.navigateUpTo(this, intent);