失礼します。今、AndroidStudioを使用しているのですが、AppCompatActivityを継承していない、単なるClassから任意のActivity内の画面をいじる(TextViewの内容を変更するとか)ことは可能なのでしょうか?
とりあえず、操作対象のActivityに
Java
1public class GameCoreActivity extends AppCompatActivity { 2protected void onCreate(Bundle savedInstanceState) { 3(略) 4 } 5public void textChange(String name, String input, String output) { 6 TextView name = findViewById(R.id.output); 7 name.setText(R.string.input); 8 } 9}
を作って指示を送りたいClassに
Java
1GameCoreActivity.textChange("test", "gamestart", "textView");
を作成したのですが、non-staticには代入できない、となってしまい実行出来ませんでした。
やはり、Activityの内部からでないとそのActivityの内容を変更することは不可能なのでしょうか?
追記
そもそもこのコードでは、Activity内でも動作しませんでした・・
やりたかったこととしては、まず、メインのアクティビティに
Java
1TextView game_core; 2String game_core_setview = getString(R.string.game_core, game.select); 3game_core.setText(game_core_setview);
こんな感じの処理があったとして、
R.id.xxxx R.string.yyyyの部分を変数にしておいて(対応するxmlは予め作成しておく)別のクラスから引数を入れて実行すれば表示内容が変更できる(コードを全て別のクラスに記述した所、getStringやfindViewByIdはアクティビティ内に記述しないとエラーが発生してしまいました)といったメソッドを作成したい、と言うものでした・・
やはり、アクティビティに関する処理は全てアクティビティ内に記述しないとエラーになってしまいますか?
(初心者のため、見当違いの質問をしていたらすいません・・)
回答1件
あなたの回答
tips
プレビュー