2010-11-19 66 views
0

VitaminTable.java:我的应用程序崩溃,并给了我一个强制关闭错误

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

清单文件:

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

你有一个ClassCastException,看看你是如何调用该对象的。 – Pentium10 2010-11-19 06:20:48

+0

heha 2010-11-19 06:22:11

+0

哪一行是VitaminTable.java:38?你正在实施onclicklistener这个电话? 'vitaminA.setOnClickListener((OnClickListener)this);' – Pentium10 2010-11-19 06:24:24

回答

0

好了,我不知道到底,但据我猜测,尝试改变类似于所有行:

vitaminA.setOnClickListener((OnClickListener)本);到这样的事情

vitaminA.setOnClickListener(this); ,

,让您的活动实现OnClickListener,并添加未实现的方法,只要遵循Eclipse将提供给你的建议..

尝试,这可能是它可以帮助你.........

+0

thnks真的有效! – heha 2010-11-19 06:41:59

+0

不错................. – viv 2010-11-19 06:44:37

1

您的问题写在日志中

ClassCastEx ception

在这个位置

的onCreate(VitaminTable.java:38)

等38行的铸造你的看法到错误类型

抱歉,但不能帮助你更没有你布局xml文件,但检查您创建的视图的类型,并应该做窍门

0

您的包名称向后。它应该是“com.xyz.vitaminTable”或可能更好的“com.xyz.vitamin”。但是这不应该是一个问题,除非你在清单中使用它不同。请提供AndroidManifest.xml的内容。

为了将此投影到OnClickListener VitaminTable实现OnClickListener。

public class VitaminTable extends Activity implements OnClickListener { 
    ... 
    implement OnClickListener-Methods here 
    ... 
} 
相关问题