MenuScreenアクティビティ内のボタンのテキストをChangeClassから変更しようとしています。パラメータ/引数としてコンテキストを使用する
それが動作可能かのように見えるソリューションIを見つけたここに他の回答を見て:私の問題は、私が呼び出しの引数としてコンテキストを参照する方法がわからないよ、ある
public class ChangeClass{
protected MenuScreen context;
public ChangeClass(MenuScreen context) {
this.context = context;
}
public void setupMenu(){
context.runOnUiThread(new Runnable() {
@Override
public void run() {
context.btnMenuScreen0.setText("test 1");
}
});
}
をメソッド。
ChangeClass changeClass = new ChangeClass (/*what goes here?*/);
ChangeClass.setupMenu();
私が最終的にアクセスしたいクラスは、MenuScreen.classです。議論の中でそれをコンテキストと呼ぶにはどうしたらいいですか?
MenuScreenでテキストを変更するためのパブリックメソッドを作成し、テキストを他のクラスやアクティビティから変更したい場合はいつでも呼び出すことができます。 –
これは、より良い方法を見つけるまで、機能的な回避策です。提案していただきありがとう:) – BR89
これは簡単な回避策です。あなたのアクティビティへのコールバックとしてインターフェイスを使用することができます。このコンセプトはあなたの質問と同じです。 –