Android setAdapter()在ListFragment中返回null
因此,我正在尝试为我正在制作的另一个应用程序创建一个基本前景。Android setAdapter()在ListFragment中返回null,android,android-fragments,Android,Android Fragments,因此,我正在尝试为我正在制作的另一个应用程序创建一个基本前景。 我只是想在我的片段中得到一个在屏幕上填充的listView。(创建可滑动的选项卡视图) 我一直在这一行上看到一个nullPointerException: List.setAdapter(Adapter); 这是我的全班同学: public class List_View extends ListFragment { @Override public View onCreateView(LayoutInflater inflat
我只是想在我的片段中得到一个在屏幕上填充的listView。(创建可滑动的选项卡视图)
我一直在这一行上看到一个nullPointerException:
List.setAdapter(Adapter);
这是我的全班同学:
public class List_View extends ListFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.listviewtest, container, false);
ListView List = (ListView) getActivity().findViewById(R.id.listView1);
List<HashMap<String, String>> Data = new ArrayList<HashMap<String, String>>();
{
HashMap<String, String> temp1 = new HashMap<String, String>();
temp1.put("Item", "Item 1");
Data.add(temp1);
HashMap<String, String> temp2 = new HashMap<String, String>();
temp2.put("Item", "Item 2");
Data.add(temp2);
HashMap<String, String> temp3 = new HashMap<String, String>();
temp3.put("Item", "Item 3");
Data.add(temp3);
}
SimpleAdapter Adapter = new SimpleAdapter(this.getActivity(),
Data, R.layout.custom_row_view, new String[] {
"Item" }, new int[] { R.id.text1});
List.setAdapter(Adapter);
List.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
switch (position) {
case 1:
AlertDialog.Builder dlgAlert = new AlertDialog.Builder(
getActivity());
dlgAlert.setMessage("Set Message Text");
dlgAlert.setTitle("Set Message Title");
dlgAlert.setNeutralButton("View info",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog,
int which) {
dialog.dismiss();
}
});
dlgAlert.setCancelable(false);
dlgAlert.create().show();
break;
}
}
});
return rootView;
}
}
公共类列表\u视图扩展了ListFragment{
@凌驾
创建视图上的公共视图(布局、充气机、视图组容器、,
Bundle savedInstanceState){
视图根视图=充气机。充气(R.layout.listviewtest,container,false);
ListView列表=(ListView)getActivity().findViewById(R.id.listView1);
列表数据=新的ArrayList();
{
HashMap temp1=新的HashMap();
临时1.出售(“项目”、“项目1”);
添加数据(temp1);
HashMap temp2=新的HashMap();
临时2.出售(“项目”、“项目2”);
添加数据(temp2);
HashMap temp3=新的HashMap();
临时第3项。出售(“项目”、“项目3”);
添加数据(temp3);
}
SimpleAdapter=新SimpleAdapter(this.getActivity(),
数据,R.layout.custom_row_视图,新字符串[]{
“Item”},新的int[]{R.id.text1});
List.setAdapter(适配器);
List.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
开关(位置){
案例1:
AlertDialog.Builder dlgAlert=新建AlertDialog.Builder(
getActivity());
dlgAlert.setMessage(“设置消息文本”);
dlgAlert.setTitle(“设置消息标题”);
dlgAlert.setNeutralButton(“查看信息”,
新建DialogInterface.OnClickListener(){
公共void onClick(对话框接口对话框,
int(其中){
dialog.dismise();
}
});
dlgAlert.setCancelable(false);
dlgAlert.create().show();
打破
}
}
});
返回rootView;
}
}
就我所知,这不应该返回null。我认为您的充气操作正在返回null。检查这条线
ListView List = (ListView) getActivity().findViewById(R.id.listView1);
您应该从片段的父视图而不是父活动中扩展ListView
应该是这样的
ListView List = (ListView) rootView.findViewById(R.id.listView1); and make sure that
尝试ListView List=(ListView)rootView.findviewbyd(R.id.listView1)代码>