我在片段中有一个listView,我正在尝试使用switch语句来指导每个人进行正确的活动。只是无法让它工作。我一直在搞乱代码大约一个小时,但在创建意图时我仍然遇到同样的错误。
public class MenuFragment extends ListFragment {
String[] menu = { "Setting", "About" };
@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
setListAdapter(new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_1, menu));
getListView().setCacheColorHint(0);
}
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
switch (position) {
case 0:
Intent newActivity = new Intent(this, Settings.class);
startActivity(newActivity);
break;
case 1:
Intent newActivity1 = new Intent(this, About.class);
startActivity(newActivity1);
break;
}
}
}
以下是我的错误:
答案 0 :(得分:2)
你给Intent的构造函数一个Fragment实例作为第一个参数,当前的Activity应该去。
试试这个:
Intent newActivity1 = new Intent(getActivity(), About.class);
答案 1 :(得分:2)
尝试:
switch (position) {
case 0:
Intent newActivity = new Intent(getApplicationContext(), Settings.class);
startActivity(newActivity);
break;
case 1:
Intent newActivity1 = new Intent(getApplicationContext(), About.class);
startActivity(newActivity1);
break;
}