![](/img/trans.png)
[英]Screen orientation in only one child of a ViewSwitcher in Android
[英]android ViewSwitcher screen orientation change
我在FragmentActivity
有一個ViewSwitche
,其中有2個布局文件,每個方向一個。 ViewSwitcher
由radio group
控制。
當我旋轉屏幕時,一切都按預期運行,使用正確的布局文件渲染屏幕。
但是, 屏幕旋轉時會觸發無線電組的onCheckedChanged
事件。
該監聽器如下所示(在onCreate
創建):
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//snip
radios.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int index) {
viewSwitcher.showNext();
}
});
}
如何在旋轉屏幕時不觸發的情況下在listener
調用viewSwitcher.showNext() ?
好吧,我有點找到了一個駭人聽聞的解決方案,但我希望那里有更好的解決方案。
private boolean wasRotatedHack;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.savedInstanceState = savedInstanceState;
if (savedInstanceState == null) {
wasRotatedHack = false;
} else {
wasRotatedHack = true;
}
tabRadios.setOnCheckedChangeListener(new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup radioGroup, int index) {
if (!wasRotatedHack) {
viewSwitcher.showNext();
} else {
wasRotatedHack = false;
}
}
});
startInspectionButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(getApplicationContext(), InspectionActivity.class));
}
});
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.