[英]Using activity.finish in up button
我想為我的android應用程序定義一個向上按鈕以轉到父級活動。 從某些資源中,單擊向上按鈕時,我找到了以下代碼:
NavUtils.navigateUpFromSameTask(getActivity());
但是我遇到了一個問題,那就是我的活動需要一些數據進行創建(Intent extras),因此我用以下代碼替換了:
getActivity().finish();
但是有些感覺告訴我這不是達到父級活動的正確方法,也許以后我會遇到一些運行時錯誤。 您認為我該怎么辦?
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
您的變量,可以將其用於每個類和活動
我想你想要這個:
Intent intent = NavUtils.getParentActivityIntent(this);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
NavUtils.navigateUpTo(this, intent);
//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);
在主要班級:
@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);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.