2016-09-18 5 views
0

Ich bin komplett neu in Android-Entwicklung und ich habe nur 2 Klassen genommen. Mein Professor hat als kleines Projekt eine App erstellt, die einige Zahlen aufnimmt und die Essenskosten berechnet. Dies ist, was ich bisher:ava.lang.ClassCastException: android.support.v7.widget.AppCompatTextView kann nicht in android.widget.EditText umgewandelt werden

public class MainActivity extends AppCompatActivity { 

    /** 
    * ATTENTION: This was auto-generated to implement the App Indexing API. 
    * See https://g.co/AppIndexing/AndroidStudio for more information. 
    */ 
    private GoogleApiClient client; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 

     Button cButton = (Button) findViewById(R.id.calculateButton); 
     cButton.setOnClickListener(new View.OnClickListener() 
      { 
       public void onClick(View view) 
       { 
        //getting cost 
        EditText cost = (EditText)findViewById(R.id.mealCost); 
        String mealCost = cost.getText().toString(); 
        int mealCostInt = Integer.parseInt(mealCost); 

        //getting tax percentage 
        EditText tax = (EditText)findViewById(R.id.tax); 
        String taxAmount = cost.getText().toString(); 
        int taxAmountInt = Integer.parseInt(mealCost); 

        //getting tip percentage 
        EditText tip = (EditText)findViewById(R.id.tip); 
        String tipAmount = cost.getText().toString(); 
        int tipAmountInt = Integer.parseInt(mealCost); 

        //calculating total amount 
        int totalAmount = (mealCostInt)+((taxAmountInt/100)*mealCostInt)+((tipAmountInt/100)*mealCostInt); 

        //displaying total amount 
        EditText total = (EditText)findViewById(R.id.total); 
        total.setText(totalAmount); 
       } 
      } 

     ); 

    } 


} 

Jedes Mal, wenn ich den Code ausführen, erfolgreich die App geladen wird. Jedes Mal, wenn ich auf die Schaltfläche Berechnen klicken, erhalte ich die Fehler unten gesehen:

--------- beginning of crash 
09-18 20:25:40.169 2752-2752/com.example.shameemah.mealcalculator E/AndroidRuntime: FATAL EXCEPTION: main 
                        Process: com.example.shameemah.mealcalculator, PID: 2752 
                        java.lang.ClassCastException: android.support.v7.widget.AppCompatTextView cannot be cast to android.widget.EditText 
                         at com.example.shameemah.mealcalculator.MainActivity$1.onClick(MainActivity.java:35) 
                         at android.view.View.performClick(View.java:5198) 
                         at android.view.View$PerformClick.run(View.java:21147) 
                         at android.os.Handler.handleCallback(Handler.java:739) 
                         at android.os.Handler.dispatchMessage(Handler.java:95) 
                         at android.os.Looper.loop(Looper.java:148) 
                         at android.app.ActivityThread.main(ActivityThread.java:5417) 
                         at java.lang.reflect.Method.invoke(Native Method) 
                         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
                         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 

Ich habe ähnliche Fehler gesucht und versucht, einige Lösungen, die ich sah, aber wegen meiner begrenzten Kenntnis Ich bin nicht sicher, was genau soll ich tun. Ich werde wirklich einige Hilfe mit einigen ausführlichen Erklärungen schätzen. Ich bemühe mich sehr, Dinge zu lernen und zu verstehen, also antworte bitte so, als würdest du mit jemandem sprechen, der keine Erfahrung mit Android Dev hat. Ich danke dir sehr!

Antwort

1

Ich denke, eine Ihrer Ansichten (mealCost, Steuer oder Tipps) in XML-Layout ist TextView Widget. Deshalb verursacht die implizite Konvertierung den Fehler. Ändern Sie TextView in EditText in XML und der Fehler muss verschwinden.

+0

Das hat es behoben. Vielen Dank! –

+0

Ich bin froh, dass es geholfen hat. Markieren Sie die Antwort bitte als richtig. – Dmitriy

Verwandte Themen