Android View クラスをオーバーライドして、機能を少し調整しようとしています。しかし、setter メソッドを持たないフィールドを変更する必要があります。サブクラスを というパッケージに配置しましたandroid.widget
。package-private メンバー フィールドにアクセスできないのはなぜですか? コンパイラーは、アクセスできないのではなく、「解決できません」と言っていることに気付きました。これは Android.jar のビルド方法と関係がありますか?
質問する
1980 次
2 に答える
4
これらのメソッドは Android SDK の一部ではないため、SDK アプリケーションから直接使用することはできません。ファームウェアを構築している場合は、それらに直接アクセスできます。おそらく、サブクラスはリフレクションを介してそれらを取得できますが、そのようなフィールド (またはその他の非 SDK のもの) は、特定の Android リリースで変更される可能性があることに注意してください。
于 2010-10-07T23:02:26.647 に答える
2
これは、クラス ローダーの副作用でもあります。android.widget パッケージは、システムで使用される android.widget パッケージと同じではありません。
于 2010-10-07T23:17:22.737 に答える