如何在片段中为我的列表视图实现适配器
How do I implement an adapter for my listview in fragment
我正在尝试在我的选项卡中创建一个扩展 Fragment
的 ListView
。当我尝试使用 android.R.layout.simple_expandable_list_item_1
.
时出现错误
代码如下:
public class Tab1 extends Fragment {
ListView listView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.tab_1, container, false);
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1); //<-- get error here.
listView = (ListView) view.findViewById(R.id.listViewTab1);
return view;
}
}
有人知道我该怎么做吗?
ArrayAdapter 的第一个参数需要是 Context
并且使用 this
(Fragment
)不是一个。请改用托管 Fragment
的 Activity
。此外,不要忘记在您的 listView
上实际设置适配器,并在某些时候向适配器添加数据。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.tab_1, container, false);
ArrayAdapter<String> adapter1 =
new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_expandable_list_item_1);
listView = (ListView) view.findViewById(R.id.listViewTab1);
listView.setAdapter(adapter1);
return view;
}
下次请 post 您遇到的错误。 "An error" 可以是任何东西。然而,在这种情况下,George Mulligan 可能是正确的。
我正在尝试在我的选项卡中创建一个扩展 Fragment
的 ListView
。当我尝试使用 android.R.layout.simple_expandable_list_item_1
.
代码如下:
public class Tab1 extends Fragment {
ListView listView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.tab_1, container, false);
ArrayAdapter<String> adapter1 = new ArrayAdapter<String>(this,android.R.layout.simple_expandable_list_item_1); //<-- get error here.
listView = (ListView) view.findViewById(R.id.listViewTab1);
return view;
}
}
有人知道我该怎么做吗?
ArrayAdapter 的第一个参数需要是 Context
并且使用 this
(Fragment
)不是一个。请改用托管 Fragment
的 Activity
。此外,不要忘记在您的 listView
上实际设置适配器,并在某些时候向适配器添加数据。
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.tab_1, container, false);
ArrayAdapter<String> adapter1 =
new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_expandable_list_item_1);
listView = (ListView) view.findViewById(R.id.listViewTab1);
listView.setAdapter(adapter1);
return view;
}
下次请 post 您遇到的错误。 "An error" 可以是任何东西。然而,在这种情况下,George Mulligan 可能是正确的。