私は、ボタンをクリックした後、私のアプリでMainActivityに非常に単純なスナックバーを表示しようとしていました。また、このボタンを押すと新しいアクティビティが開始されます。しかし、私がそれをクリックした後、Snackbarショーと新しい活動が始まりませんでした。私のMainActivityはRelativeLayoutであり、私はそれをCoordinatorLayoutに変更したくありません。スナックバーの単純なアンドロイドのスナックバーが動作しない
<RelativeLayout
<TextView
android:id="@+id/tvReceived"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Messages Received"
android:textSize="25sp"
android:gravity="center"
android:textStyle="bold"
android:textAllCaps="false"
android:textColor="#3079ab"
android:layout_marginTop="10dp"/>
<LinearLayout
android:id="@+id/linearMain"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tvReceived"
android:layout_marginTop="7dp"
android:layout_marginBottom="50dp">
<FrameLayout
android:id="@+id/receivedList"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</FrameLayout>
</LinearLayout>
<Button
android:id="@+id/newMessage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="New Message"
android:textAllCaps="false"
android:textSize="16sp"
android:layout_alignParentBottom="true"
android:layout_alignEnd="@+id/linearMain"
android:layout_marginBottom="32dp" />
</RelativeLayout>
Javaコード:
Button btnNewSms = (Button) findViewById(R.id.newMessage);
btnNewSms.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Snackbar mySnackbar = Snackbar.make(v, R.string.new_message, Snackbar.LENGTH_LONG);
mySnackbar.show();
Intent intent = new Intent(MainActivity.this, ComposeActivity.class);
startActivity(intent);
}
});
何が悪いのでしょうか?前もって感謝します!
を働いていた場合、活動は時にボタン開始される知っているよう
に従うことによって、あなたの
Snackbar
の内側にあなたのボタンのクリックでActivity
を開くことができます あなたはスナックバーを見ることができません。試してみてください、それが働いたら教えてください –何も間違っていません。 2つ目のアクティビティが始まると、最初の 'Activity'に' Snackbar'が表示されません。 'startActivity()'コールはあなたが思っているものなら 'Snackbar'を待つつもりはありません。 –
ああ...はいそれは働いた! Snackbarの表示後に新しいアクティビティを開始することはできますか? CoordinatorLayoutはこれを行う必要がありますか? – Emile