2017-06-05 3 views
-1

ich einige Probleme mit Android Studio mit Blick auf meiner Codierung ist in Ordnung, und es funktionierte, als ich zum Gerät laufen, aber irgendwie sein Fehler, als ich generate signed APKAndroid Fehler: Diese Klasse soll öffentlich sein [instanzierbare]

hier Meldungen sind die Fehler:

Error:(25) Error: This class should be public (com.myapp.SoundLevelView) [Instantiatable] 

here meine Codierung:

public SoundLevelView(Context context, AttributeSet attrs) { 
      super(context, attrs); 

      mGreen = context.getResources().getDrawable(
        R.drawable.greenbar); 
      mRed = context.getResources().getDrawable(
        R.drawable.redbar); 

      mWidth = mGreen.getIntrinsicWidth(); 
      setMinimumWidth(mWidth*10); 

      mHeight = mGreen.getIntrinsicHeight(); 
      setMinimumHeight(mHeight); 

      //Used to paint canvas background color 
      mBackgroundPaint = new Paint(); 
      mBackgroundPaint.setColor(Color.BLACK); 

     } 

ich versuche, von Android Einstellungen Lint zu deaktivieren und fügen

lintOptions { 
     abortOnError false 
    } 

zu meiner Klasse. innerhalb des Android-Tags. aber es scheint auch nicht zu funktionieren. jemand mit dem gleichen problem wie ich konfrontiert?

Hinweis: Ich versuche auch zu Invalidated Cache and Restart, aber nicht

+1

Ich glaube, Sie einen leeren Konstruktor benötigen. Wie 'public SoundLevelView() {}'. –

+0

@AkshayChordiya Wenn ich das hinzufügen, ist der Fehler "Theres ist kein Standard-Konstruktor in 'android.view.View' – themasmul

+0

Sie müssen die Klasse als öffentliche Klasse SoundLevelView –

Antwort

0

Versuchen Sie, diese Arbeit:

public class SoundLevelView(Context context, AttributeSet attrs) { 
      super(context, attrs); 

      mGreen = context.getResources().getDrawable(
        R.drawable.greenbar); 
      mRed = context.getResources().getDrawable(
        R.drawable.redbar); 

      mWidth = mGreen.getIntrinsicWidth(); 
      setMinimumWidth(mWidth*10); 

      mHeight = mGreen.getIntrinsicHeight(); 
      setMinimumHeight(mHeight); 

      //Used to paint canvas background color 
      mBackgroundPaint = new Paint(); 
      mBackgroundPaint.setColor(Color.BLACK); 

     } 
Verwandte Themen