2017-05-09 3 views
0

Ich habe versucht, einen signierten APK zu generieren, aber dann dieser Fehler angezeigt:Fehler: Diese Klasse sollte einen Standardkonstruktor bieten

Error:Error: This class should provide a default constructor (a public constructor with no arguments) (com.penta.games.mrpolitik.SpendenDialog) [Instantiatable]

Das ist mein Dialog Datei

package com.penta.games.mrpolitik; 

import android.app.Activity; 
import android.app.Dialog; 
import android.content.Intent; 
import android.net.Uri; 
import android.os.Bundle; 
import android.view.View; 
import android.view.Window; 
import android.widget.Button; 

public class SpendenDialog extends Dialog implements 
     android.view.View.OnClickListener { 

    private Activity c; 
    private Button yes, no; 

    public SpendenDialog(Activity a) { 
     super(a); 
     this.c = a; 
    } 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     requestWindowFeature(Window.FEATURE_NO_TITLE); 
     setContentView(R.layout.spenden_dialog); 
     yes = (Button) findViewById(R.id.btn_yes); 
     no = (Button) findViewById(R.id.btn_no); 
     yes.setOnClickListener(this); 
     no.setOnClickListener(this); 
    } 



    @Override 
    public void onClick(View v) { 
     switch (v.getId()) { 
      case R.id.btn_yes: 
       Uri uri = Uri.parse("https://patreon.com/user?u=5716519&utm_medium=social&utm_source=twitter&utm_campaign=creatorshare2"); 
       Intent intent = new Intent(Intent.ACTION_VIEW, uri); 
       c.startActivity(intent); 
       break; 
     } 
     switch (v.getId()) { 
      case R.id.btn_no: 
       break; 
     } 
     dismiss(); 
    } 



} 

Wie kann ich diesen Fehler beheben ?

+0

Haben Sie 'SpendenDialog 'irgendwo im Manifest aufgeführt? –

+0

Die Fehlermeldung ist irreführend, übrigens. Ein Standardkonstruktor ist nicht irgendein "öffentlicher Konstruktor ohne Argumente", sondern der Konstruktor _, der vom Compiler bereitgestellt wird, wenn sonst kein Konstruktor für die Klasse definiert ist. –

Antwort

1

How can I solve this error?

Schritt 1: Löschen Sie Ihre Konstruktor

Schritt # 2: Löschen Sie Ihre c Feld

Schritt 3: Ersetzen Sie alle früheren Verweise auf c mit getContext()

Verwandte Themen