如何从android中的另一个片段类调用一个片段的方法

Ars*_*wan 2 java android android-fragments

我想从fragmentA调用FragmentB(Class)的方法,我在fragmentA(类)中创建了fragmentb的对象,但是这里没有工作的是这个类中的fragmentA的代码我有一个方法我将通过它调用FragmentB类的方法

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();
        }
    }
);
Run Code Online (Sandbox Code Playgroud)

我想调用fragmentB的这个方法

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

我尝试在fragmentA的方法中编写此代码,但是收到错误

FragmentA fragment=          
    (FragmentA)getSupportFragmentManager().findFragmentById(R.id.pageview2);
    ((FragmentA)fragment).show();
Run Code Online (Sandbox Code Playgroud)

Vin*_*ngh 12

尝试此解决方案:

((FragmentA) getActivity()
    .getSupportFragmentManager()
    .findFragmentById(R.id.pageview2)
).show();
Run Code Online (Sandbox Code Playgroud)