如何调用一个片段的方法,从Android中另一个片段类 [英] how to call method of one fragment from another fragment class in android

查看:214
本文介绍了如何调用一个片段的方法,从Android中另一个片段类的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我要打电话FragmentB(级)从碎裂的方法我试图通过fragmentb的对象碎裂(类),但它不工作
这里是在这个类中我有过,我会打电话给FragmentB类的方法的方法碎裂的code

  adddata.setOnClickListener(
        新View.OnClickListener(){
        @覆盖
        公共无效的onClick(视图v){
            布尔isInserted = myDb.addalldata(monthly_income.getText()。的toString()
                room_rent.getText()。的toString()
                。mess_rent.getText()的toString());
            如果(isInserted =真)
                Toast.makeText(getActivity()getBaseContext(),插入数据,Toast.LENGTH_LONG).show();
            其他
            Toast.makeText(getActivity()getBaseContext(),数据不插入,Toast.LENGTH_LONG).show();
        }
    }
);

我要打电话fragmentB这个方法

 公共无效显示(){
    光标解析度= myDb.getAllData();
    StringBuffer的缓冲区=新的StringBuffer();
    而(res.moveToNext()){
        displayresult.setText(buffer.append(res.getString(1)));
    }
}

我试图通过编写碎裂的方法这个code,但我得到的错误

 碎裂片段=
    (碎裂)getSupportFragmentManager()findFragmentById(R.id.pageview2)。
    ((碎裂)片段).show();


解决方案

试试这个

((FragmentA)getActivity().getSupportFragmentManager().findFragmentById(R.id.pageview2)).show();

I want to call a method of FragmentB (Class) from a fragmentA I tried by making a object of fragmentb in fragmentA (class) but it's not working here is the code of fragmentA in this class I have a method through which I will call the method of FragmentB class

adddata.setOnClickListener(
        new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            boolean isInserted = myDb.addalldata(monthly_income.getText().toString(),
                room_rent.getText().toString(),
                mess_rent.getText().toString());
            if (isInserted = true)
                Toast.makeText(getActivity().getBaseContext(), "Data Inserted", Toast.LENGTH_LONG).show();
            else
            Toast.makeText(getActivity().getBaseContext(), "Data not Inserted", Toast.LENGTH_LONG).show();
        }
    }
);

I want to call this method of fragmentB

public void show() {
    Cursor res = myDb.getAllData();
    StringBuffer buffer = new StringBuffer();
    while (res.moveToNext()) {
        displayresult.setText( buffer.append( res.getString(1)));
    }
}

I tried by writing this code in method of fragmentA but am getting error

FragmentA fragment=          
    (FragmentA)getSupportFragmentManager().findFragmentById(R.id.pageview2);
    ((FragmentA)fragment).show();

解决方案

Try This

((FragmentA)getActivity().getSupportFragmentManager().findFragmentById(R.id.pageview2)).show();

这篇关于如何调用一个片段的方法,从Android中另一个片段类的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆