我正在制作我的第一个Android应用程序,我有一个AutoCompleteTextView,其中包含来自Google Places API的建议。从建议中选择一个项目后,我有下面显示的有关它的更多信息。这工作正常,但是当屏幕方向更改时,值会不断消失,就好像没有选择任何项目一样。如果我选择其他项目,建议显示正常,但是当屏幕方向更改时,是否有任何方法可以保留我的文本视图和自动完成文本视图的值?
您只需将所选项目存储在onSaveInstanceState(Bundle outState)中,然后将其加载到onCreate(Bundle savedInstanceState)上,就像这样。
public class MainActivity extends Activity {
final String KEY = "save key";
int mSelectedItemIndex = -1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
mSelectedItemIndex = savedInstanceState.getInt(KEY);
}
if (mSelectedItemIndex != -1) {
// bind selected item to AutoCompleteTextView
}
}
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
// Save your current index
if (mSelectedItemIndex != -1) {
outState.putInt(KEY, mSelectedItemIndex);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
将其添加到清单中的活动中
android:configChanges="locale|keyboardHidden|orientation"
如
<activity android:name=".youractivityname"
android:label="youractivityname"
android:configChanges="locale|keyboardHidden|orientation"/>