0

我在片段中有一个 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;

        }
    }

}

这是我的错误:

在此处输入图像描述

4

2 回答 2

2

你给 Intent 的构造函数一个 Fragment 实例作为第一个参数,当前 Activity 应该去哪里。

试试这个:

Intent newActivity1 = new Intent(getActivity(), About.class);
于 2012-07-01T19:50:37.407 回答
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;

        }
于 2012-07-01T19:53:30.993 回答