別のクラスからフラグメントメソッドを呼び出す正しい方法は何ですか?
私はそのようなクラス'ParseCommands.java'を持っています:
public class ParseCommands {
public static Context context;
< call to FragmentSettings.doStuff() >
}
フラグメントでメソッドdoStuff()を呼び出したい:
public class FragmentSettings extends PreferenceFragment {
private static Activity a;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
public void doStuff(String message) {
Toast.makeText(a, message, Toast.LENGTH_SHORT).show();
}
}
タブを介してフラグメントを適用するため、フラグメントマネージャーを使用してフラグメントを設定しませんが、メソッドを呼び出すために次のことを試みましたが、機能しないようです。
Activity act = (Activity) context;
FragmentManager fm = act.getFragmentManager();
FragmentSettings fs = (FragmentSettings) m.findFragmentById(R.xml.fragment_settings);
fs.doStuff("it actually worked!");
そして、doStuffを静的として宣言し、次のように呼び出してみました。
FragmentSettings.doStuff
どちらの方法もうまくいかないようです...
これを行う正しい方法は何ですか?