web-dev-qa-db-ja.com

このクラスはパブリックである必要があります(Android.support.v7.internal.widget.ActionBarView.HomeView)

Android 3つのスピナーを使用するアプリケーションを作成しようとしています。このエラーが発生し続け、修正方法がわかりません。このクラスはパブリック(Android .support.v7.internal.widget.ActionBarView.HomeView)

23
HeadShotNot

"v7-appcompat"ライブラリで:

設定-> Android Lint設定

「インスタント化可能」を検索し、警告に設定します。

50
braintrapp

Eclipseを使用している場合:

Project > Clean > OK

または試してください:

Preferences -> Android Lint Preferences

Instantiatableを検索し、Warningとして設定します。

http://developer.Android.com/tools/debugging/improving-w-lint.html

これでうまくいきました。

13
Paulo

appcompat_v7ライブラリに移動します-> Properties-> Android Lint Preferences-> Instantiatable->「Warning」重大度を選択します。

enter image description here

Android Lint Checks

Instantiatable要約:マニフェストファイルに登録されたクラスがインスタンス化可能であることを確認します

優先度:6/10重大度:警告カテゴリ:正確性

マニフェストファイルに登録されているアクティビティ、サービス、ブロードキャストレシーバーなどは、システムによって「インスタンス化可能」である必要があります。つまり、クラスはパブリックでなければならず、空のパブリックコンストラクターが必要であり、内部クラスの場合は、静的内部クラス。

8
Jorgesys

解決策を見つけました、project.propertiesファイルで、次の行を置き換えるだけです

Android.library.reference.1=../appcompat_v7_3 

Android.library.reference.1=../appcompat_v7

これで少なくとも問題は解決しました。

3
Olgierd

これは真の解決策ではありませんが、おそらく役立つでしょう。

APIレベルが8より高いプロジェクトを作成します。

最低限必要なSDKをAPIレベル9ではなく8に選択すると、このエラーは発生しません。

観察:私の最後の回答は削除されました。おそらくモデレーターはそれが外部サイトへのリンク以上のものではないと考えているため、リンクを再度投稿しません。

2
noob guest

Eclipseのセットアップに関する問題。 Windows->設定-> Android=-> Lint Error Checking-> Enter the Instantiatable "Inside the Issues-> Select Search Content->右下隅重大度の選択の警告-> OK!

1
pixparker

これをbuild.gradleファイルで手動で行うこともできます。

lintOptions {
    abortOnError false
    disable "Instantiatable"
}
1
Glenn Porter