簡體   English   中英

使用活動。完成在向上按鈕

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM