2010-11-19 8 views
0

VitaminTable.java:meine App stürzt beim Start und gibt mir eine Kraft schließen Fehler

package vitaminTable.xyz.com; 

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.*; 


public class VitaminTable extends Activity { 
Button vitaminA,vitaminB1,vitaminB2,vitaminB3,vitaminB5,vitaminB6,vitaminB7,vitaminB9; 
Button vitaminB12,vitaminC,vitaminD,vitaminE,vitaminK; 

/** Called when the activity is first created. */ 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    vitaminA = (Button) findViewById(R.id.vitaminA); 
    vitaminB1 = (Button) findViewById(R.id.vitaminB1); 
    vitaminB2 = (Button) findViewById(R.id.vitaminB2); 
    vitaminB3 = (Button) findViewById(R.id.vitaminB3); 
    vitaminB5 = (Button) findViewById(R.id.vitaminB5); 
    vitaminB6 = (Button) findViewById(R.id.vitaminB6); 
    vitaminB7 = (Button) findViewById(R.id.vitaminB7); 
    vitaminB9 = (Button) findViewById(R.id.vitaminB9); 
    vitaminB12 = (Button) findViewById(R.id.vitaminB12); 
    vitaminC = (Button) findViewById(R.id.vitaminC); 
    vitaminD = (Button) findViewById(R.id.vitaminD); 
    vitaminE = (Button) findViewById(R.id.vitaminE); 
    vitaminK = (Button) findViewById(R.id.vitaminK); 

    vitaminA.setOnClickListener((OnClickListener) this); 
    vitaminB1.setOnClickListener((OnClickListener) this); 
    vitaminB2.setOnClickListener((OnClickListener) this); 
    vitaminB3.setOnClickListener((OnClickListener) this); 
    vitaminB5.setOnClickListener((OnClickListener) this); 
    vitaminB6.setOnClickListener((OnClickListener) this); 
    vitaminB7.setOnClickListener((OnClickListener) this); 
    vitaminB9.setOnClickListener((OnClickListener) this); 
    vitaminB12.setOnClickListener((OnClickListener) this); 
    vitaminC.setOnClickListener((OnClickListener) this); 
    vitaminD.setOnClickListener((OnClickListener) this); 
    vitaminE.setOnClickListener((OnClickListener) this); 
    vitaminK.setOnClickListener((OnClickListener) this); 
} 


public void onClick(View v) { 
    switch (v.getId()) { 

    case R.id.vitaminA: 
    Intent va = new Intent(VitaminTable.this,vita.class); 
    startActivity(va); 
    break; 

    case R.id.vitaminB1: 
     Intent vb1 = new Intent(VitaminTable.this,vitb1.class); 
     startActivity(vb1); 
    break; 

    case R.id.vitaminB2: 
     Intent vb2 = new Intent(VitaminTable.this,vitb2.class); 
     startActivity(vb2); 
    break; 

    case R.id.vitaminB3: 
     Intent vb3 = new Intent(VitaminTable.this,vitb3.class); 
     startActivity(vb3); 
    break; 

    case R.id.vitaminB5: 
     Intent vb5 = new Intent(VitaminTable.this,vitb5.class); 
     startActivity(vb5); 
     break; 

    case R.id.vitaminB6: 
     Intent vb6 = new Intent(VitaminTable.this,vitb6.class); 
     startActivity(vb6); 
     break; 

    case R.id.vitaminB7: 
     Intent vb7 = new Intent(VitaminTable.this,vitb7.class); 
     startActivity(vb7); 
     break; 

    case R.id.vitaminB9: 
     Intent vb9 = new Intent(VitaminTable.this,vitb9.class); 
     startActivity(vb9); 
     break; 

    case R.id.vitaminB12: 
     Intent vb12 = new Intent(VitaminTable.this,vitb12.class); 
     startActivity(vb12); 
     break; 

    case R.id.vitaminC: 
     Intent vc = new Intent(VitaminTable.this,vitc.class); 
     startActivity(vc); 
     break; 

    case R.id.vitaminD: 
     Intent vd = new Intent(VitaminTable.this,vitd.class); 
     startActivity(vd); 
     break; 

    case R.id.vitaminE: 
     Intent ve = new Intent(VitaminTable.this,vite.class); 
     startActivity(ve); 
     break; 

    case R.id.vitaminK: 
     Intent vk = new Intent(VitaminTable.this,vitk.class); 
     startActivity(vk); 
     break; 
    } 
} 
} 

Manifest-Datei:

<?xml version="1.0" encoding="utf-8"?> 
    <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
     package="vitaminTable.xyz.com" 
    android:versionCode="1" 
     android:versionName="1.0"> 
    <application android:icon="@drawable/icon" android:label="@string/app_name"> 
     <activity android:name=".VitaminTable" 
       android:label="@string/app_name"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 
      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity android:name=".vita"/> 
    <activity android:name=".vitb1" /> 
    <activity android:name=".vitb2" /> 
    <activity android:name=".vitb3" /> 
    <activity android:name=".vitb5" /> 
    <activity android:name=".vitb6" /> 
    <activity android:name=".vitb7" /> 
    <activity android:name=".vitb9" /> 
    <activity android:name=".vitb12" /> 
    <activity android:name=".vitc" /> 
    <activity android:name=".vitd" /> 
    <activity android:name=".vite" /> 
    <activity android:name=".vitk" /> 
    <activity android:name=".vitadailyreq" /> 

    </application> 


</manifest> 

main.xml:

<?xml version="1.0" encoding="utf-8"?> 


    <ScrollView 
android:id="@+id/Vitamintable" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
xmlns:android="http://schemas.android.com/apk/res/android" 
> 

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="fill_parent" 
android:stretchColumns="1" 
android:background="@drawable/fruit2"> 

    <TableRow> 
<Button 
android:id="@+id/vitaminA" 
android:layout_width="240px" 
android:layout_height="36px" 
android:textSize="15sp" 
android:background="#FFFFFF" 
android:textColor="#D15FEE" 
android:textStyle="bold" 
android:gravity="left" 
android:text="Vitamin A" 
    android:fadingEdge="horizontal|vertical"/> 

</TableRow> 
    <TableRow> 
    <Button 
android:id="@+id/vitaminB1" 
android:layout_width="240px" 
    android:layout_height="36px" 
android:textSize="15sp" 
android:background="#FFFFFF" 
    android:textColor="#D15FEE" 
android:textStyle="bold" 
android:gravity="left" 
android:text="Vitamin B1" 
android:fadingEdge="horizontal|vertical"/> 

</TableRow> 
    <TableRow> 
<Button 
android:id="@+id/vitaminB2" 
android:layout_width="240px" 
android:layout_height="36px" 
android:textSize="15sp" 
android:background="#FFFFFF" 
    android:textColor="#D15FEE" 
android:textStyle="bold" 
    android:gravity="left" 
    android:text="Vitamin B2" 
    android:fadingEdge="horizontal|vertical"/> 

</TableRow> 
    <TableRow> 
    <Button 
android:id="@+id/vitaminB3" 
android:layout_width="240px" 
android:layout_height="36px" 
android:textSize="15sp" 
    android:background="#FFFFFF" 
    android:textColor="#D15FEE" 
    android:textStyle="bold" 
    android:gravity="left" 
android:text="Vitamin B3" 
android:fadingEdge="horizontal|vertical"/> 

    </TableRow> 
    <TableRow> 
<Button 
android:id="@+id/vitaminB5" 
android:layout_width="240px" 
android:layout_height="36px" 
    android:textSize="15sp" 
    android:background="#FFFFFF" 
    android:textColor="#D15FEE" 
android:textStyle="bold" 
android:gravity="left" 
android:text="Vitamin B5" 
android:fadingEdge="horizontal|vertical"/> 

</TableRow> 
    <TableRow> 
<Button 
android:id="@+id/vitaminB6" 
    android:layout_width="240px" 
android:layout_height="36px" 
    android:textSize="15sp" 
android:background="#FFFFFF" 
android:textColor="#D15FEE" 
android:textStyle="bold" 
android:gravity="left" 
android:text="Vitamin B6" 
    android:fadingEdge="horizontal|vertical"/> 

</TableRow> 
    <TableRow> 
<Button 
android:id="@+id/vitaminB7" 
android:layout_width="240px" 
android:layout_height="36px" 
    android:textSize="15sp" 
android:background="#FFFFFF" 
android:textColor="#D15FEE" 
android:textStyle="bold" 
android:gravity="left" 
android:text="Vitamin B7" 
android:fadingEdge="horizontal|vertical"/> 

</TableRow> 
    <TableRow> 
<Button 
android:id="@+id/vitaminB9" 
android:layout_width="240px" 
android:layout_height="36px" 
android:textSize="15sp" 
android:background="#FFFFFF" 
android:textColor="#D15FEE" 
android:textStyle="bold" 
android:gravity="left" 
    android:text="Vitamin B9" 
    android:fadingEdge="horizontal|vertical"/> 

    </TableRow> 
    <TableRow> 
<Button 
android:id="@+id/vitaminB12" 
android:layout_width="240px" 
android:layout_height="36px" 
android:textSize="15sp" 
android:background="#FFFFFF" 
android:textColor="#D15FEE" 
android:textStyle="bold" 
android:gravity="left" 
android:text="Vitamin B12" 
android:fadingEdge="horizontal|vertical"/> 

</TableRow> 
    <TableRow> 
<Button 
android:id="@+id/vitaminC" 
android:layout_width="240px" 
android:layout_height="36px" 
    android:textSize="15sp" 
android:background="#FFFFFF" 
android:textColor="#D15FEE" 
android:textStyle="bold" 
android:gravity="left" 
android:text="Vitamin C" 
    android:fadingEdge="horizontal|vertical"/> 

</TableRow> 
    <TableRow> 
<Button 
android:id="@+id/vitaminD" 
android:layout_width="240px" 
android:layout_height="36px" 
android:textSize="15sp" 
android:background="#FFFFFF" 
android:textColor="#D15FEE" 
android:textStyle="bold" 
android:gravity="left" 
android:text="Vitamin D" 
    android:fadingEdge="horizontal|vertical"/> 

    </TableRow> 
    <TableRow> 
<Button 
android:id="@+id/vitaminE" 
android:layout_width="240px" 
android:layout_height="36px" 
android:textSize="15sp" 
android:background="#FFFFFF" 
android:textColor="#D15FEE" 
android:textStyle="bold" 
android:gravity="left" 
android:text="Vitamin E" 
android:fadingEdge="horizontal|vertical"/> 

</TableRow> 
    <TableRow> 
<Button 
android:id="@+id/vitaminK" 
    android:layout_width="240px" 
    android:layout_height="36px" 
    android:textSize="15sp" 
    android:background="#FFFFFF" 
    android:textColor="#D15FEE" 
    android:textStyle="bold" 
    android:gravity="left" 
    android:text="Vitamin K" 
    android:fadingEdge="horizontal|vertical"/> 

    </TableRow> 

    </TableLayout> 
    </ScrollView> 

i get the following error: 
11-18 22:09:51.765: ERROR/AndroidRuntime(488): FATAL EXCEPTION: main 
11-18 22:09:51.765: ERROR/AndroidRuntime(488): java.lang.RuntimeException: Unable to start activity ComponentInfo{vitaminTable.xyz.com/vitaminTable.xyz.com.VitaminTable}: java.lang.ClassCastException: vitaminTable.xyz.com.VitaminTable 
11-18 22:09:51.765: ERROR/AndroidRuntime(488):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2663) 
11-18 22:09:51.765: ERROR/AndroidRuntime(488):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679) 
11-18 22:09:51.765: ERROR/AndroidRuntime(488):  at android.app.ActivityThread.access$2300(ActivityThread.java:125) 
11-18 22:09:51.765: ERROR/AndroidRuntime(488):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033) 
11-18 22:09:51.765: ERROR/AndroidRuntime(488):  at android.os.Handler.dispatchMessage(Handler.java:99) 
11-18 22:09:51.765: ERROR/AndroidRuntime(488):  at android.os.Looper.loop(Looper.java:123) 
11-18 22:09:51.765: ERROR/AndroidRuntime(488):  at android.app.ActivityThread.main(ActivityThread.java:4627) 
11-18 22:09:51.765: ERROR/AndroidRuntime(488):  at java.lang.reflect.Method.invokeNative(Native Method) 
11-18 22:09:51.765: ERROR/AndroidRuntime(488):  at java.lang.reflect.Method.invoke(Method.java:521) 
11-18 22:09:51.765: ERROR/AndroidRuntime(488):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
11-18 22:09:51.765: ERROR/AndroidRuntime(488):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
11-18 22:09:51.765: ERROR/AndroidRuntime(488):  at dalvik.system.NativeStart.main(Native Method) 
11-18 22:09:51.765: ERROR/AndroidRuntime(488): Caused by: java.lang.ClassCastException: vitaminTable.xyz.com.VitaminTable 
11-18 22:09:51.765: ERROR/AndroidRuntime(488):  at vitaminTable.xyz.com.VitaminTable.onCreate(VitaminTable.java:38) 
11-18 22:09:51.765: ERROR/AndroidRuntime(488):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
11-18 22:09:51.765: ERROR/AndroidRuntime(488):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2627) 
11-18 22:09:51.765: ERROR/AndroidRuntime(488):  ... 11 more 
+0

Sie haben eine ClassCastException gesehen, wie Sie dieses Objekt aufrufen. – Pentium10

+0

heha

+0

Welches ist die Linie VitaminTable.java:38? Implementieren Sie onclicklistener für diesen Aufruf? 'vitaminA.setOnClickListener ((OnClickListener) dies);' – Pentium10

Antwort

0

Nun, ich weiß nicht genau, aber so weit ich denke, versuchen, alle Linien zu ändern ähnlich wie:

vitaminA.setOnClickListener ((OnClickListener) this); zu so etwas

vitaminA.setOnClickListener (this); ,

und lassen Sie Ihre Aktivität OnClickListener implementieren und nicht implementierten Methoden hinzufügen, nur die Vorschläge folgen, die Sie zur Verfügung stellen eclipse ..

Versuchen Sie dies sein kann es Ihnen helfen kann .........

+0

thnks das hat wirklich funktioniert! – heha

+0

nett ................. – viv

1

Ihr Problem wird in das Protokoll geschrieben

ClassCastEx nehmung

an diesem Ort

onCreate (VitaminTable.java:38)

so auf der Linie 38 deiner Sicht in den falschen Typ ohne

leid, aber können Sie nicht mehr helfen Gießen Ihre Layout-XML-Datei, aber überprüfen Sie den Typ der Ansicht, die Sie erstellt haben und das sollte den Trick tun

0

Sie haben den Paketnamen rückwärts. Es sollte "com.xyz.vitaminTable" oder wahrscheinlich besser "com.xyz.vitamin" sein. Aber das sollte kein Problem sein, wenn du es nicht anders im Manifest verwendest. Bitte geben Sie den Inhalt der AndroidManifest.xml an.

Um dies auf OnClickListener VitaminTable zu werfen, muss OnClickListener implementiert werden.

public class VitaminTable extends Activity implements OnClickListener { 
    ... 
    implement OnClickListener-Methods here 
    ... 
} 
Verwandte Themen