【发布时间】:2016-08-07 08:55:11
【问题描述】:
我正在尝试通过使用 MainActivity 中的方法从片段中的 ListView 获取值。
这是我的 Fragment,我在其中将 textview 项目添加到我的列表视图:
@Override
public void onStart(){
super.onStart();
FirebaseListAdapter<String> adapter = new FirebaseListAdapter<String>(
getActivity(),
String.class,
R.layout.textview_layout,
mRootRef) {
@Override
protected void populateView(View view, String s, int i) {
EditText editText = (EditText)view.findViewById(R.id.input_edittext);
editText.setHint(s);
}
};
listView.setAdapter(adapter);
}
当这些被添加时,我尝试在我的 fragment 中使用此方法从每个 textview 中获取值:
public void getListViewItems(ListView l){
for(int i=0;i<l.getAdapter().getCount();i++)
System.out.println(l.getItemAtPosition(i));
}
我像这样从 MainActivity 触发方法:
public void getListItems(){
driverFragment = new DriverFragment();
driverFragment.getListViewItems(driverFragment.listView);
}
这一切都导致空对象引用:
尝试在空对象引用上调用虚拟方法 'android.widget.ListAdapter android.widget.ListView.getAdapter()'
【问题讨论】:
-
您正试图从尚未创建的对象中获取值。
-
好的,但是我的清单里有很多项目。
-
创建一个Fragment对象并不意味着它附加了activity。 :) 将数据从片段发送到活动的最佳方式是接口。
-
@Md Sufi Khan 好的。有什么好的教程如何使用接口发送数据?
标签: android listview android-fragments