とという2つのアクティビティがActivity_AありActivity_Bます。Activity_Aに次のようなメソッドまたは関数があります。
public void printNumber (int i) {
for(int j = 0; j <= i; j++) {
Log.w("TAG", "Print number is: " + j);
}
}
次に、Activity_Bという別のアクティビティからこのメソッドを呼び出します。
次の行を使用してこのメソッドを呼び出そうとしています。
((Activity_A) this.getApplicationContext()).printNumber();
この行をActivity_BのonCreateに書き込むと、アプリケーションがクラッシュし、logcatに次のエラーが表示されます。
java.lang.ClassCastException: android.app.Application cannot be cast to com.example.app.Activity_A
これどうやってするの?
編集: 私はこの質問を見つけました、そして「リッチ」によるActivity_AとActivity_B。しかし、問題はActivity_Bリストアクティビティであり、私はすでにこれをで拡張していListActivityます。
およびその他の回答は、のインスタンスを作成してからActivity_Aメソッドを呼び出します。これを行うと、すべての変数が空になるか、nullになりますActivity_A。そして、私は静的メソッドを作りたくありません。
静的参照または別のインスタンスを作成せずにこれを行う他の方法はありますか?