我有一個spinner item.When我點擊位置2.我想執行下面的代碼。只顯示一個片段
if (pos == 2) {
Log.e("TEST", "YOU CLICKED" + pos);
for (int i = 0; i < 2; i++) {
Log.e("TEST INSIDE FOR", "YOU CLICKED" + pos);
if (i % 2 == 0) {
// showFragOne();
showFragOne();
Log.e("TEST INSIDE FOR " + i, "YOU CLICKED" + pos);
try {
Thread.sleep(20000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} else if (i %2 == 1) {
// showFragTwo();
showFragTwo();
Log.e("TEST INSIDE FOR " + i, "YOU CLICKED" + pos);
try {
Thread.sleep(20000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
Toast.makeText(mCoreContext,"One Fragment added from feature app",Toast.LENGTH_LONG).show();
}
我想要這段代碼做的是改變20s的幀佈局。但只有我最後得到的第二個片段。這裏showFragTwo()功能: -
private void showFragTwo() {
// TODO Auto-generated method stub
FragmentTransaction ft =
.getFragmentManager().beginTransaction();
if (fragtwo.isAdded()) {
if (fragtwo.isHidden())
ft.show(fragtwo);
else
ft.hide(fragtwo);
ft.commit();
} else {
ft.replace(com.example.coreapp.R.id.container, fragtwo,
"ADDFRAGTWO").commit();
ft.show(fragtwo);
}
}
這裏showFragOne()功能: -
private void showFragOne() {
// TODO Auto-generated method stub
FragmentTransaction ft =
.getFragmentManager().beginTransaction();
if (frag.isAdded()) {
if (frag.isHidden())
ft.show(frag);
else
ft.hide(frag);
ft.commit();
} else {
ft.replace(com.example.coreapp.R.id.container, frag, "ADDFRAG")
.commit();
ft.show(frag);
}
}
其中i初始化在頂部FRAG和fragtwo下列到片段類: -
frag = new AddFragmentOne();
fragtwo = new AddFragmentTwo();
我得到以下爲logcat o/p。
**02-28 04:56:34.250: E/TEST INSIDE FOR: YOU CLICKED2
02-28 04:56:34.290: E/TEST INSIDE FOR 0: YOU CLICKED2
02-28 04:56:54.350: E/TEST INSIDE FOR: YOU CLICKED2
02-28 04:56:54.350: E/TEST INSIDE FOR 1: YOU CLICKED2**
我得到的O/P 但日誌消息爲何片段是沒有得到的信息?
只有第二個片段我正在
如果我評論第二,如果statemnt我得到第一個片段
誰能告訴我在哪裏,我收到了?
我確實在showFragOne()和showFragTwo()中看不到commit()else –
hey commit在if語句中的函數中都有。 –
這是在UI線程上運行嗎? –