2012-07-06 62 views
0

即時通訊嘗試使用按鈕切換我應用中的活動,但它保持關閉狀態。繼承人我的AndroidManifest.xml:嘗試切換活動時強制關閉

<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
package="com.idiedastyear" 
android:versionCode="1" 
android:versionName="1.0" > 

<uses-sdk 
    android:minSdkVersion="9" 
    android:targetSdkVersion="15" /> 

<application 
    android:icon="@drawable/ic_launcher" 
    android:label="@string/app_name" 
    android:theme="@style/AppTheme" > 
    <activity 
     android:name=".tabView" 
     android:label="@string/title_activity_tab_view" > 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 

    <activity 
     android:name=".calculator" 
     android:label="Calculator" > 
    </activity> 
</application> 

這裏是有按鈕的活動:

package com.idiedastyear; 

import android.os.Bundle; 
import android.app.Activity; 
import android.content.Intent; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.View; 
import android.widget.Button; 
import android.support.v4.app.NavUtils; 


public class tabView extends Activity { 

    Button calculator; 

    @Override 



    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_tab_view); 
     calculator = (Button)findViewById(R.id.calculatorButton); 

     calculator.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       Intent calculatorIntent = new Intent(v.getContext(), calculator.class); 
       startActivityForResult(calculatorIntent, 0); 
      } 
     }); 
    } 




} 

如果有人能夠幫助這將是偉大的!謝謝!

EDIT [logcat的]:

07-06 17:38:06.683:d/memalloc(25668):離子:映射緩衝器 基:0x5ce6c000尺寸:3768320偏移量:0 FD:53 07- 06/17:38:08.885: D/memalloc(25668):離子:映射緩衝區基地:0x5d304000大小:3768320 偏移量:0 fd:60 07-06 17:38:08.985:D/CLIPBOARD(25668):隱藏剪貼板 對話框開始輸入:由別人完成...! 07-06 17:38:11.738:D/memalloc(25668):ion:映射緩衝區基址:0x5d69c000 大小:3768320偏移量:0 fd:63 07-06 17:38:12.168: D/AndroidRuntime(25668) :關閉虛擬機07-06 17:38:12.168: W/dalvikvm(25668):threadid = 1:線程退出時未捕獲的異常 (group = 0x40c72a68)07-06 17:38:12.178:E/AndroidRuntime(25668 ):FATAL EXCEPTION:main 07-06 17:38:12.178:E/AndroidRuntime(25668): java.lang.RuntimeException:無法啓動活動 ComponentInfo {com.idiedastyear/com.idiedastyear.calculator}: android .view.InflateException:二進制XML文件行#6:Error inflate class Textview 07-06 17:38:12.178:E/AndroidRuntime(25668): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1970) 07-06 17:38:12.178:E/AndroidRuntime(25668):at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995) 07 -06 17:38:12.178:E/AndroidRuntime(25668):at android.app.ActivityThread.access $ 600(ActivityThread.java:128)07-06 17:38:12.178:E/AndroidRuntime(25668):at android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1161) 07-06 17:38:12.178:E/AndroidRuntime(25668):at android.os.Handler.dispatchMessage(Handler.java:99) 07-06 17:38:12.178:E/AndroidRuntime(25668):at android.os.Looper.loop(Looper.java:137)07-06 17:38:12.178: E/AndroidRuntime(25668):at android.app.ActivityThread.main(ActivityThread.java:4514)07-06 17:38:12.178:E/AndroidRuntime(25668):at java.lang.reflect.Method .invokeNative(Native Method)07-06 17:38:12.178:E/AndroidRuntime(25668):at java.lang.reflect.Method.invoke(Method.java:511)07-06 17:38:12.178: E/AndroidRuntime(25668):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:980) 07-06 17:38:12.178:E/AndroidRuntime(25668):at com .android.internal.os.ZygoteInit.main(ZygoteInit.java:747)07-06 17:38:12.178:E/AndroidRuntime(25668):at dalvik.system.NativeStart.main(Native Method)07-06 17:38:12.178:安卓時間(25668):導致:android.view.InflateException: 二進制XML文件行#6:錯誤膨脹類Textview 07-06 17:38:12.178:E/AndroidRuntime(25668):在 機器人。 view.LayoutInflater。createViewFromTag(LayoutInflater.java:691) 07-06 17:38:12.178:E/AndroidRuntime(25668):at android.view.LayoutInflater.rInflate(LayoutInflater.java:739)07-06 17:38:12.178 :E/AndroidRuntime(25668):at android.view.LayoutInflater.inflate(LayoutInflater.java:489)07-06 17:38:12.178:E/AndroidRuntime(25668):at android.view.LayoutInflater.inflate (LayoutInflater.java:396)07-06 17:38:12.178:E/AndroidRuntime(25668):at android.view.LayoutInflater.inflate(LayoutInflater.java:352)07-06 17:38:12.178: E/AndroidRuntime(25668):at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:274) 07-06 17:38:12.178:E/AndroidRuntime(2 5668):at android.app.Activity.setContentView(Activity.java:1835)07-06 17:38:12.178:E/AndroidRuntime(25668):at com.idiedastyear.calculator.onCreate(calculator.java: 20)07-06 17:38:12.178:E/AndroidRuntime(25668):at android.app.Activity.performCreate(Activity.java:4470)07-06 17:38:12.178:E/AndroidRuntime(25668) ):at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1053) 07-06 17:38:12.178:E/AndroidRuntime(25668):at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1934 ) 07-06 17:38:12.178:E/AndroidRuntime(25668):... 11更多07-06 17:38:12.178:E/AndroidRuntime(25668):導致: java.lang.ClassNotFoundException:android.view.Textview 07-06 17:38:12.178:E/AndroidRuntime(25668):at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61) 07-06 17 :38:12.178:E/AndroidRuntime(25668):at java.lang.ClassLoader.loadClass(ClassLoader.java:501)07-06 17:38:12.178:E/AndroidRuntime(25668):at java.lang .ClassLoader.loadClass(ClassLoader.java:461)07-06 17:38:12.178:E/AndroidRuntime(25668):at android.view.LayoutInflater.createView(LayoutInflater.java:552)07-06 17: 38:12.178:E/AndroidRuntime(25668):at android.view.LayoutInflater.onCreateView(LayoutInflater.java:636) 07-06 17:38:12.178:E/And roidRuntime(25668):at com.android.internal.policy.impl.PhoneLayoutInflater.onCreateView(PhoneLayoutInflater.java:66) 07-06 17:38:12.178:E/AndroidRuntime(25668):at android.view。 LayoutInflater.onCreateView(LayoutInflater.java:653) 07-06 17:38:12.178:E/AndroidRuntime(25668):at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:678) 07-06 17:38 :12.178:E/AndroidRuntime(25668):...... 21多個

+0

你有一個叫'calculator'的課嗎?因爲現在,你正嘗試從你的'Button'類開始一個'Activity',這是行不通的。此外,當您關閉某個部隊時,請發佈您的LogCat日誌。 – Eric 2012-07-06 16:39:55

+0

爲什麼不發佈一些Logcat輸出。 – AAnkit 2012-07-06 16:45:12

+0

嘗試'意圖calculatorIntent =新意圖(tabView.this,calculator.class);' – 2012-07-06 17:10:16

回答

0

您的代碼如下:

Intent calculatorIntent = new Intent(v.getContext(), calculator.class);

第二個參數應該是活動類名稱。您似乎也將計算器實例名稱與您正在啓動的calculator.class混合在一起。

我建議如下:

  1. 創建一個名爲CalculatorActivity一個Activity類。
  2. 確保您已經在AndroidManifest中定義了它。XML
  3. 使用以下命令行啓動活動:

Intent calculatorIntent = new Intent(getBaseContext(), CalculatorActivity.class);

此外,以幫助您精確,也請提供logcat的輸出。

+0

這不可能是@ Romin的情況。你不能編寫buttonObject.class,它可能是編譯器錯誤。 – AAnkit 2012-07-06 17:01:30

+0

@Ankit我不明白你的觀點。你能指出我在上面給出的步驟中使用了buttonObject.class(1,2,3)嗎? – Romin 2012-07-06 17:18:34

+0

第二個參數應該是Activity Class的名稱。你似乎也混淆了計算器(基本上它是一個Button安裝)的實例名稱,在這裏你正在啓動calculator.class,我沒有看到這種混合的名稱可能是導致問題的原因。雖然這是一個很好的建議.. – AAnkit 2012-07-06 17:22:14

0

不應使用的

startActivityForResult(calculatorIntent, 0); 

代替以上使用

startActivity(calculatorIntent); 

startActivityForResult(calculatorIntent,0); 用於從您開始的活動中獲得結果。如果你想切換活動startActivity是足夠的。儘管你應該發佈logcat以獲得更好的答案。

+0

請指出錯誤的投票 – AAnkit 2012-07-06 17:23:07

+0

仍然強制關閉:( – 2012-07-06 21:13:10

+0

從logcat它可以假設有一個問題在你的計算器類,請張貼計算器oncreate和XML文件也 – AAnkit 2012-07-07 04:26:59