4

私はツールバーのアイコンのクリックで活動を切り替えたいと思います。ツールバーのアイコンでクリックイベントを実装する方法は?

enter image description here

私のコード:

Toolbar toolbar = (Toolbar) findViewById(R.id.mytoolbar); 
setSupportActionBar(toolbar); 

getSupportActionBar().setIcon(R.mipmap.ic_launcher); 

と、次のようにクリックで処理が、その動作していない:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case android.R.id.home: 
      Intent i = new Intent(MainActivity.this,SecondActivity.class); 
      startActivity(i); 
      return true; 
     default: 
      return super.onOptionsItemSelected(item); 
    } 
} 

とXML:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
xmlns:app="http://schemas.android.com/apk/res-auto" 
android:id="@+id/rel_main" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
tools:context="com.project.www.simpleproject.activity.MainActivity"> 

<android.support.v7.widget.Toolbar 
    android:id="@+id/mytoolbar" 
    android:layout_width="match_parent" 
    android:layout_height="?android:attr/actionBarSize" 
    android:background="?attr/colorPrimary" 
    app:theme="@style/AppToolbar"> 

</android.support.v7.widget.Toolbar> 

はそれが可能であり、そうならば、私はあなたのgetSupportActionBarと一緒にこれを使用してありがとうを

+0

私が試したが、その作業がない –

+0

を尋ねる前に解決策を試してみてください。 –

+0

) 'getSupportActionBar(追加してみ –

答えて

4

あなたはまたToolbarを使用せずにこれを持つことができます。

final ActionBar actionBar = getSupportActionBar(); 
actionBar.setDisplayHomeAsUpEnabled(true); 
actionBar.setHomeAsUpIndicator(R.mipmap.ic_launcher); 

その後

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 
     case android.R.id.home: 
      Intent i = new Intent(MainActivity.this,SecondActivity.class); 
      startActivity(i); 
      return true; 
     default: 
      return super.onOptionsItemSelected(item); 
    } 
} 
+1

をチェック@MayurKharche、ありがとう –

+0

あなたはW4R10CK答えを試しましたか? –

+0

はい、私はHomeAsUpIndicatorとアイコンを置き換え、今は正常に動作します。 –

0

をお知らせ:

getSupportActionBar().setDisplayShowHomeEnabled(true); 
getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
関連する問題