私は、ボキャブラリを練習するためにAndroidでフリップアニメーションを使用しようとしています。フリップカードでデータを動的に変更するAndroidを使用しているフラグメント
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="100dp"
android:onClick="flipCard"
/>
と二つの断片:fragment_card_flip.xml
とfragment_card_back.xml
私は私のフラグメントのための容器を行いました。 1つは、カードの裏に意味を表示するためのものです。
ランダムにデータベースから単語を取得しています。両方のフラグメントのテキストを変更したい、つまり、前方のフラグメントと後方のフラグメントの意味を入れたいとします。 onClick()
で断片に私がflipcard()
関数を呼び出しています:
public void flipCard(View view) {
if (mShowingBack) {
getFragmentManager().popBackStack();
mShowingBack=false;
f = (Fragment) getFragmentManager().findFragmentById(R.id.container);
if(f!=null)
((TextView) f.getView().findViewById(R.id.text)).setText(w);
return;
}
// Flip to the back.
mShowingBack = true;
getFragmentManager().beginTransaction().setCustomAnimations(
R.animator.card_flip_right_in,
R.animator.card_flip_right_out,
R.animator.card_flip_left_in,
R.animator.card_flip_left_out)
.replace(R.id.container, new CardBackFragment())
.addToBackStack(null)
.commit();
}
これは言葉だけではなく、定義を変更する私の試みです。しかし、私は断片のテキストデータを動的に変更することはできません。両方のフラグメントをデータベースから新しい単語/意味で動的に更新するのを手伝ってください。
これを試しましたが、このエラーが発生しました 'java.lang.NullPointerException:仮想メソッドを呼び出そうとしています' void android.os.Bundle.putString(java.lang.String、java.lang.String) 'nullオブジェクト参照' – Igniter
@Igniterミスを修正するために私の答えを更新しました。しかし、チュートリアルもお読みください! –
ありがとう@David Rawson。あなたの答えは私を助けました:)しかし、 'super.onActivityCreated(savedInstanceState);' onActivityCreatedメソッドにも追加する必要があります。 – Igniter