私は私の活動でこのコードがあります:onResume()
でツールバー(SupportActionBar)タイトルの変更は、姿勢変化に名をアプリケーションに
protected void onCreate(Bundle savedInstanceState) {
...
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
ActionBar actionBar = getSupportActionBar();
if (actionBar != null) {
actionBar.setDisplayHomeAsUpEnabled(true);
}
...
}
私はこのような種々の断片からアクションバーのタイトルを更新しています:
ActionBar actionBar = ((AppCompatActivity) getActivity()).getSupportActionBar();
if (actionBar != null) {
actionBar.setTitle(title);
}
を
これはうまくいきますが、向きが変更された後、タイトルが再びアプリ名に変わります。どのように私はこれを克服できますか?
EDIT:
final ActionBar actionBar = ((AppCompatActivity)getActivity()).getSupportActionBar();
if (actionBar != null) {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Log.d("SWAPNIL", "IN RUN BEFORE: " + actionBar.getTitle());
actionBar.setTitle(title);
Log.d("SWAPNIL", "IN RUN AFTER : " + actionBar.getTitle());
}
}, 3000);
}
そして、ここでは、ログです::
10-13 10:27:04.526 3719-3719/com.example.xxxx D/SWAPNIL: onResumeHelp
10-13 10:27:07.528 3719-3719/com.example.xxxx D/SWAPNIL: IN RUN BEFORE: MY APP NAME
10-13 10:27:07.528 3719-3719/com.example.xxxx D/SWAPNIL: IN RUN AFTER : title
10-13 10:27:21.012 3719-3719/com.example.xxxx D/SWAPNIL: onResumeHelp
10-13 10:27:24.013 3719-3719/com.example.xxxx D/SWAPNIL: IN RUN BEFORE: title
10-13 10:27:24.013 3719-3719/com.example.xxxx D/SWAPNIL: IN RUN AFTER : title
私は断片的にタイトルを設定して、このコードを 追加: は、より多くを調査した後、私はこれを試してみましたが、この奇妙な行動を発見しました
ログごとに変更されていましたが、UIには反映されませんでした。 私を助けてください!
私はうまくやったと言うか、感謝しなければならないのか分からない。これはすべてのAndroid開発者にとって良い教訓です。 Googleは未完成のAndroidバージョンをリリースするだけでなく、これらのバグを真剣に受け止めなければなりません。 – Sufian
問題を実際に解決するので、これを答えとしてマークしてください。 – Sufian
@Sufianありがとう:)私は確かに問題を適切に文書化する時間があるときに、Androidのバグレポートでこれを提出するつもりです。 –