ツールバーの戻るアイコンを使用して戻るボタンを使用して、フラグメントからアクティビティに移動したい。
フラグメントは私のナビゲーションドロワーアイテムであり、アクティビティは私のMainActivityです。
どうすればいいのですか?
その戻るナビゲーションアイコンにはapp:navigationIcon="?attr/homeAsUpIndicator"
を使用できます。
<Android.support.v7.widget.Toolbar
Android:id="@+id/toolbarId"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
app:navigationIcon="?attr/homeAsUpIndicator"/>
ナビゲーションの場合:
Toolbar toolbar = (ToolBar) getActivity().findViewById(R.id.toolbarId);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
getActivity().onBackPressed();
}
});
これが私のために働いてみてください:
xMLの場合:
<Android.support.v7.widget.Toolbar
Android:id="@+id/profileToolbar"
Android:layout_width="match_parent"
Android:layout_height="wrap_content">
ドローアブルフォルダに戻る矢印アイコンを作成します。 'ic_back_button'という名前を付けます。方法がわからない:-
ドローアブルを右クリック>新規> ImageAsset>クリップアート>検索して戻る>選択> OK>終了(名前を変更することを忘れないでください)。
次に、onCreateViewのフラグメント内:
Toolbar toolbar = view.findViewById(R.id.profileToolbar);
toolbar.setNavigationIcon(R.drawable.ic_back_button);
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getActivity().onBackPressed();
}
});
フラグメントonCreateViewでこのメソッドを呼び出します
public void showBackButton() {
if (getActivity() instanceof ActionBarActivity) {
((ActionBarActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
}
このxmlコードをフラグメントに追加して、試してください
<Android.support.v7.widget.Toolbar
Android:id="@+id/toolbar"
Android:layout_width="match_parent"
Android:layout_height="?attr/actionBarSize"
Android:background="#FFFFFF"
Android:layout_gravity="center"
Android:gravity="center_horizontal">
<TextView
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:text="Title Here"
Android:typeface="serif"
Android:layout_gravity="center"
Android:id="@+id/toolbar_title"
Android:textSize="20sp"
Android:textColor="@Android:color/black"/>
<ImageView
Android:id="@+id/ivback_water"
Android:layout_width="wrap_content"
Android:layout_height="wrap_content"
Android:layout_alignParentRight="true"
Android:layout_centerVertical="true"
Android:padding="15dp"
Android:scaleType="fitCenter"
Android:layout_gravity="left"
Android:background="@drawable/ic_arrow_back_black_24dp" />
</Android.support.v7.widget.Toolbar>