This class should be public (android.support.v7.in

2019-02-02 23:02发布

I am trying to create a Android Application which uses 3 spinners. I keep getting this error and I can't figure out how to fix it. This class should be public (android.support.v7.internal.widget.ActionBarView.HomeView)

7条回答
Deceive 欺骗
2楼-- · 2019-02-02 23:34

Eclipse inside the setup issues. Windows -> Preferences -> Android -> Lint Error Checking -> Enter "Instantiatable" Inside the Issues -> select the Search Content -> lower right corner Severity election warning -> OK!

查看更多
贼婆χ
3楼-- · 2019-02-02 23:37

On the "v7-appcompat" library:

preferences -> Android Lint Preferences

Search for "Instantiatable" and set to Warning.

查看更多
聊天终结者
4楼-- · 2019-02-02 23:39

You can also do this manually in the build.gradle file:

lintOptions {
    abortOnError false
    disable "Instantiatable"
}
查看更多
可以哭但决不认输i
5楼-- · 2019-02-02 23:42

Go to appcompat_v7 library -> Properties -> Android Lint Preferences -> Instantiatable -> Select "Warning" severity.

enter image description here

Android Lint Checks

Instantiatable Summary: Ensures that classes registered in the manifest file are instantiatable

Priority: 6 / 10 Severity: Warning Category: Correctness

Activities, services, broadcast receivers etc. registered in the manifest file must be "instiantable" by the system, which means that the class must be public, it must have an empty public constructor, and if it's an inner class, it must be a static inner class.

查看更多
手持菜刀,她持情操
6楼-- · 2019-02-02 23:45

I found a solution, in the project.properties file, just replace the line saying

android.library.reference.1=../appcompat_v7_3 

with

android.library.reference.1=../appcompat_v7

That solved the problem to me at least.

查看更多
唯我独甜
7楼-- · 2019-02-02 23:45

This is not a true solution, but maybe help.

Create project with higher API level then 8.

Whenever I select minimum Required SDK to API level 9 instead 8 this error does not happen.

Observation: My last answer was deleted, maybe the moderator think it was barely more than a link to an external site, for this reason I don't posted the link again.

查看更多
登录 后发表回答