作業中のAndroidアプリケーションに問題があります。
私のアプリケーションにはいくつかのセクションがあり、読み込まれる次の画面は文字列に基づいています。したがって、セクション1の画面1はS1S1になります。
私の質問は、文字列に基づいてアクティビティをどのように開始できるかです。S1S1を文字列で保存しました。次のアクティビティと呼びましょう。S1S1.classと入力する必要はなく、文字列から取得する必要があります。私は思いつく限りのことをすべて試しましたが、グーグルはあまり役に立ちませんでした。
私が試したいくつかのことは
Intent myIntent = new Intent(nextactivity);
Intent myIntent = new Intent(v.getContext(), getClass().getName().valueOf(nextactivity));
Intent myIntent = new Intent(v.getContext(), Class.forName(nextactivity));
と実行してみました
startActivityForResult(myIntent, 0);
しかし、何も機能しないようです。何か案は?
これは、アクティビティの名前を使用してアクティビティを開始できるコードです
String activityToStart = "com.example.MainActivity";
try {
Class<?> c = Class.forName(activityToStart);
Intent intent = new Intent(this, c);
startActivity(intent);
} catch (ClassNotFoundException ignored) {
}
編集する
ここでクラス名は、パッケージ名を含むクラスの完全な名前になります。たとえば、パッケージ名がありx.y.z
、アクティビティ名が呼び出されている場合A
、アクティビティのフルネームA
はになりますx.y.z.A
。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加