2017-08-09 9 views
0

基本的に引き出しであるDrawerParentクラスがあります。そして、例えば、DrawerParentから継承された2つのアクティビティ。私が望むのは、既に実行中の場合、同じアクティビティを再オープンしないことです。そのようなことのために、私は何らかの形でこのアクティビティが実行中であるかどうかをチェックする必要があります。これは引き出しの中で次のように動作します:現在のアクティビティが必要かどうかを確認する(同じ親)

public boolean onNavigationItemSelected(MenuItem item) { 
     // Handle navigation view item clicks here. 
     int id = item.getItemId(); 

     if (id == R.id.nav_about) { 

      startActivity(new Intent(this, AboutActivity.class)); 
      finish(); 

     } else ... 

そして私はそれを確認する方法がわかりません。ありがとうございました。

==編集==
レイアウトでグループを作成し、selectable = "single"を追加すると機能しません。あなたが活動にそのコードを実行している場合は、使用して比較することができ

答えて

2

if (!(this instanceof ActivityToBeOpened)) { 
    startActivity(new Intent(this, ActivityToBeOpened.class)); 
    finish(); 
} 

あなたはinstanceofhereについての詳細情報を取得することができます。

希望すると助かります!

+0

これは絶対に機能します!素晴らしい一日ありがとうございました:) – Cakeee

+0

回答を受け入れてください。 – Natan

+0

私は試していますが、3分でそれをやり遂げることはできません。もちろん私はあなたの助けを忘れないだろう:) – Cakeee

関連する問題