9

私のAndroidアプリケーションでこの一般的なアクティビティがあります

public class NavegadorActivity<T> extends Activity {

    ....
...
}

そして、私はそれを以下のように呼ぼうとしています

Intent intent = new Intent(v.getContext(), NavegadorActivity<Clientes>.class);

ただし、Intentコンストラクターはジェネリッククラスをパラメーターとして受け入れません。それから私はこのコードを試しました

Class<NavegadorActivity<Clientes>> NavClientes =  NavegadorActivity.class;

Intent intent = new Intent(v.getContext(), NavClientes.class);

どちらも機能しません。

これも

Class<NavegadorActivity<Clientes>> NavClientes =  NavegadorActivity<Clientes>.class;

Intent intent = new Intent(v.getContext(), NavClientes.class);

ジェネリッククラスをパラメーターとしてIntentコンストラクターに渡す方法を知っている人はいますか?

ありがとう

4

2 に答える 2

4

Android Intent System がアクティビティをサポートしているとは思わないのでGeneric、自分でアクティビティ オブジェクトを作成するだけではいけません。汎用機能を表す内部クラスをアクティビティに追加し、その汎用名を経由して渡すことをお勧めします

intent.putExtraString("class", yourClass.getName());

そのクラスオブジェクトを取得します

Class<?> myGeneric = Class.forName(intent.getStringExtra("class", "java.Object");
于 2013-03-21T18:21:05.213 に答える
1

どうしたの

Intent intent = new Intent(v.getContext(), NavegadorActivity.class);
于 2013-03-21T18:06:34.130 に答える