タブ付きのアクティビティを持つアプリケーションでは、textViewとlogcat(どのタブを選択しているかを示すメッセージ)に簡単なメッセージを送ります。Android:タブ付きアプリケーションでは、TextViewの出力はLogCatと一貫していません
ただし、textViewには正しい文字列が表示されますが、logcatには異なる文字列が表示されます。
手順この問題を再現するために非常に単純です:
スタート新しいAndroid Studioプロジェクト(私のAndroid Studioバージョン:1.5.1)
(例えばMyApplicationを任意のアプリケーションの名前を付けて)
"電話とタブレット"のみを選択してください。
を選択し、 "タブ付きアクティビティ"
ナビスタイル "(ビューポケットベル付き)アクションバータブ" を選択してください
クリックして、これを生成し、プロジェクトをビルドします
を終えます。このアプリケーションを実行すると、最初のタブに「Hello World from section:1」、2番目に「Hello World from section:2」、3番目のタブに「Hello World from section:3」という文字列が表示されます。
さて、
textView.setText(getString(R.string.section_format, getArguments().getInt(ARG_SECTION_NUMBER)));
MainActivity.java
にだけ(それはのTextViewに文字列を送信する)この線より下の方法
onCreateView
(
class PlaceholderFragment
の)に行く
Log.i("onCreateView", "From tab number: " + getArguments().getInt(ARG_SECTION_NUMBER));
予想される動作:
textViewとlogcatの両方で、タブをタップしたときと同じメッセージが表示されるはずです。
実際の行動:
TextViewには、正しい文字列を示しています。しかし、logcatでは、表示されているタブ番号が正しくないため、textView出力と一致しません。
私は自分の文字列を形成してのTextViewに渡すしようとしたとき、これは確かに奇妙であり、すべての高さは、これに代えて、で、LogCat
String strMessage = "Msg from tab number: " + getArguments().getInt(ARG_SECTION_NUMBER);
textView.setText (strMessage);
Log.i("onCreateView", strMessage);
それはまだ同じ動作を持っているつまりはTextViewの中に正しい文字列を示しています関連するタブは表示されますが、Logcatは完全に異なるタブ番号を示します。私は同じ文字列を送信していますが、番号の変更だけです???