有人能解释一下这里的问题吗?错误如下:
MainAcitivity中的代码:
FragmentManager fm = getSupportFragmentManager();
SvePonudeFragment fragment = (SvePonudeFragment) fm.findFragmentById(R.id.ponudice);
fragment.reloadData();碎片类别:
public class SvePonudeFragment extends Fragment {
private RecyclerView rv;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.sve_ponude_fragment, container, false);
rv = (RecyclerView) rootView.findViewById(R.id.rv);
LinearLayoutManager llm = new LinearLayoutManager(getActivity());
rv.setLayoutManager(llm);
ArrayList<Ponuda> listaPonuda = null;
initializeAdapter(listaPonuda);
return rootView;
}
private void initializeAdapter(List<Ponuda> preuzetePonude){
RVAdapter adapter = new RVAdapter(preuzetePonude);
rv.setAdapter(adapter);
}
public void reloadData(){
System.out.println("I ENTEEERED");
}
}片段XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent" android:layout_height="match_parent"
android:id="@+id/ponudice">
<android.support.v7.widget.RecyclerView
android:layout_height="match_parent"
android:layout_width="match_parent"
android:id="@+id/rv"
>
</android.support.v7.widget.RecyclerView>
</RelativeLayout>这是怎么回事?谁能解释一下吗?这是一个错误:
W/System.err: com.example.filip.dajsve.Activities.MainActivity.onDataLoaded(MainActivity.java:190) W/System.err: at com.example.filip.dajsve.Loaders.DatabaseDataLoader.loadData(DatabaseDataLoader.java:22)
发布于 2016-11-20 18:39:10
我发现了问题。问题是,您没有将您的片段链接到mainActivity。首先,您应该在mainActivty的xml中添加您的片段,并为该片段提供一个id,然后在主活动中使用不使用该id android:id="@+id/ponudice">的id访问它,因为这个id与相对布局有关,而不是该片段。检查主要活动的xml代码,您应该会发现片段标记,如下面的代码
<fragment
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:name="theNameOfYourPackage.theNameOfFragment"
android:id="@+id/ponudice_in_main_activity"/>https://stackoverflow.com/questions/40707313
复制相似问题