首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我不能从MainActivity调用片段方法

我不能从MainActivity调用片段方法
EN

Stack Overflow用户
提问于 2016-11-20 17:49:32
回答 1查看 296关注 0票数 0

有人能解释一下这里的问题吗?错误如下:

MainAcitivity中的代码:

代码语言:javascript
复制
FragmentManager fm = getSupportFragmentManager(); 
SvePonudeFragment fragment = (SvePonudeFragment) fm.findFragmentById(R.id.ponudice);
fragment.reloadData();

碎片类别:

代码语言:javascript
复制
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:

代码语言:javascript
复制
<?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)

EN

回答 1

Stack Overflow用户

发布于 2016-11-20 18:39:10

我发现了问题。问题是,您没有将您的片段链接到mainActivity。首先,您应该在mainActivty的xml中添加您的片段,并为该片段提供一个id,然后在主活动中使用不使用该id android:id="@+id/ponudice">的id访问它,因为这个id与相对布局有关,而不是该片段。检查主要活动的xml代码,您应该会发现片段标记,如下面的代码

代码语言:javascript
复制
    <fragment
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:name="theNameOfYourPackage.theNameOfFragment"
    android:id="@+id/ponudice_in_main_activity"/>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40707313

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档