我想从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) 我已经搜索了这个,但无法找到答案,因为我不知道我做错了哪一方.每当我对这个方法进行分类时,我都会从我调用的地方得到错误.
我在checkpass.java类中调用此方法
private void checking() {
okbtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
TestClass testClass = new TestClass();
testClass.testing();
}
});
}
Run Code Online (Sandbox Code Playgroud)
我正在调用这个位于另一个类中的方法
public void testing(){
Toast.makeText(TestClass.this, "Testing class", Toast.LENGTH_SHORT).show();
}
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
at android.widget.Toast.makeText(Toast.java:287)
at com.futureappspk.WeTextFree.TestClass.testing(TestClass.java:18)
at com.futureappspk.WeTextFree.CheckPass$1.onClick(CheckPass.java:43)
at android.view.View.performClick(View.java:4746)
Run Code Online (Sandbox Code Playgroud)