Pergunta

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)

Foi útil?

Solução

On the "v7-appcompat" library:

preferences -> Android Lint Preferences

Search for "Instantiatable" and set to Warning.

Outras dicas

If you are using Eclipse:

Project > Clean > OK

Or Try:

Preferences -> Android Lint Preferences

Search for Instantiatable and set as Warning.

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

This worked for me.

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.

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.

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

lintOptions {
    abortOnError false
    disable "Instantiatable"
}

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.

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!

I know this question is pretty old. However, would like to add in the updated answer to resolve this issue.

android {
    .
    .
    .
    lintOptions {
        warning("Instantiatable")
    }
}

Add the above lines to your gradle file. Basically what this does is, it tells the linter to treat Instantiatable rule as a warning and not error.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top