2010-11-19 25 views
0

VitaminTable.java:mes application se bloque au début et me donne une force erreur proche

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; 
    } 
} 
} 

fichier manifeste:

<?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

Vous avez obtenu une exception ClassCastException, voyez comment vous appelez cet objet. – Pentium10

+0

heha

+0

Quelle est la ligne VitaminTable.java:38? Implémentez-vous onclicklistener pour cet appel? 'vitaminA.setOnClickListener ((OnClickListener) this);' – Pentium10

Répondre

0

Eh bien, je ne sais pas exactement, mais pour autant que je suppose, essayez de changer toutes les lignes similaires à:

vitaminA.setOnClickListener ((OnClickListener) this); à quelque chose comme ceci

vitaminA.setOnClickListener (this); ,

et laissez votre activité mettre en œuvre onCLickListener, et ajouter des méthodes inappliquées, il suffit de suivre les suggestions qui éclipsent vous fournir ..

Essayez cela peut être il peut vous aider .........

+0

thnks qui ont vraiment travaillé! – heha

+0

sympa ................. – viv

1

votre problème est écrit dans le journal

ClassCastEx ception

à cet endroit

onCreate (VitaminTable.java:38)

donc sur la ligne 38 de votre coulée votre point de vue dans le mauvais type

désolé mais ne peut pas vous aider plus sans votre mise en page fichier XML, mais vérifiez le type de vue que vous avez créé et qui devrait faire l'affaire

0

Vous avez le packagename en arrière. Il devrait être "com.xyz.vitaminTable" ou probablement mieux "com.xyz.vitamin". Mais cela ne devrait pas poser de problème si vous ne l'utilisez pas différemment dans le Manifeste. Veuillez fournir le contenu du fichier AndroidManifest.xml. Pour convertir ceci en OnClickListener, VitaminTable doit implémenter OnClickListener.

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