在我的 Android 应用程序开始时,用户需要从替代列表中进行选择。这就是为什么。
假设我有一长串项目,每个项目都属于一个类别。每个用户只对一个特定类别感兴趣。因此,当应用程序启动并且 SharedPreferences 不包含有关所选类别的任何信息时,应该显示一个模式对话框 - 在这里用户必须选择他或她感兴趣的类别。选择类别后,仅显示该类别的项目。
到目前为止,我尝试在 Activity 的 onCreate() 方法中实现这种行为,这显然不起作用。该对话框未显示或至少没有足够长以便我可以看到它。
老实说,我没想到代码可以通过从onCreate()
. 但是,我无法在Activity
可以触发对话框的地方找到合适的事件处理程序。
为了确保选择一个类别(在加载任何其他数据之前),应该从哪里触发这个对话框?
提前致谢。
这是代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
setContentView(R.layout.activity_item_list);
...
ensureCategorySelected();
}
相关方法在哪里
private void ensureCategorySelected() {
String chosenCategory = getCategoryFromSharedPreferences();
if (chosenCategory != null) {
final CharSequence[] items = getCategories();
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Choose category");
builder.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
// handle the selection of the category
}
});
AlertDialog alert = builder.show();
}
}