2014-01-16 9 views
8

私のアプリケーションでは。私はlogin画面を持っています。ログインに成功すると、4つのタブがあり、tab activityが起動します。タブ内のいずれかのボタンを押すと、新しいアクティビティが起動します。場合によっては私のloginクラスでイベントが発生することがあります。イベントが発生すると、タブのアクティビティに戻ります。私はIntentを使ってコードを書いた。そのコードは正常に動作しています。しかし、タブのアクティビティに達した後、戻るボタンを押したときのアクティビティに戻ることはしません。私はこれを取り除きたい。 「戻る」を押すとログインを表示したいこれを行う方法はありますか?インテントを使用してアクティビティを起動し、前のアクティビティを起動してから戻るボタンを無効にします

Intent tabi=new Intent(getApplicationContext(),Tab.class); 
startActivity(tabi); 

タブ活性のコードonkeydownがある:これは私が使用しているコードです

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
    if (keyCode == KeyEvent.KEYCODE_BACK) { 


     super.onKeyDown(keyCode, event); 
     return true; 
    } 
    return false; 
} 
+0

とのコールタブアクティビティを呼び出すことができます。これは、バックボタン

などから防ぐことができます。 – krishna

答えて

10
Intent tabi=new Intent(getApplicationContext(),Tab.class); 
      startActivity(tabi); 
finish(); 
+0

私の答えが正しい答えとしてplzマークよりも正しい場合は –

4

使用をonBackPressedし、その中にあなたの活動を開始

@Override 
public void onBackPressed() { 
    // TODO Auto-generated method stub 
    super.onBackPressed(); 
    Intent intent = new Intent(Tab.this , Login.class); 
    startActivity(intent) 
} 

ユーザーができないコードを使用して履歴をクリアすることができます

第一の方法は、単純に移動するには(あなたはログインscrenに現在あると仮定した場合)、次のとおりです。バックのログインページから訪問したページ

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
1

にAMEは、2つの方法で達成することができ、ログイン画面に戻ります次のアクティビティはIntentを使用し、現在のアクティビティは終了せず、onBackPressed()の内部ではfinish()に電話するだけです。

2番目の方法は、finish()ログインアクティビティの場合、loginアクティビティに移動してIntentを使用し、タブ操作を終了するだけです。

簡単です。インテントを使用してログイン画面に移動する:

@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 
if (keyCode == KeyEvent.KEYCODE_BACK) { 

    startActivity(new Intent(getApplicationContext(), Login.class)); 
    finish(); 

    super.onKeyDown(keyCode, event); 
    return true; 
} 
return false; 
} 
7

メソッドを呼び出します。イベントがクビにすると

Intent tabi=new Intent(getApplicationContext(),Tab.class); 
startActivity(tabi); 
finish(); 
+0

ありがとう、ありがとう。これは私をたくさん助けました! –

+0

歓迎です..ハッピーコーディング.. –

2

、あなたが戻ってプレスでのアクティビティの仕上げを()これらの目的のフラグ

Intent tabi=new Intent(getApplicationContext(),Tab.class); 
tabi.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP); 
startActivity(tabi); 
関連する問題