2012-06-04 55 views
0

我有一個ListView,所以我在main.xml設計器中刪除它,它也自動從main.xml代碼中刪除。不能突然出現在Eclipse Android中出現錯誤「Source not found」爲什麼?

然後,我添加了一個微調器,自動添加到main.xml代碼的設計師。 在我的程序中,我刪除了ListView的所有用途,並使用微調器添加。

然後我在一行上做了一個調試,當我在調試模式下運行我的應用程序並選擇然後我在調試窗口中出現紅色的錯誤Source not found

而且我有一個按鈕,我可以點擊:Edit a source lookup path

我不知道問題出在哪裏,以及如何解決它。 5分鐘前,我刪除了ListView,並在設計器中添加了微調器,它完美地工作。

這是main.xml中代碼:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:orientation="vertical" > 

    <TextView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:text="@string/hello" /> 


    <Button 
     android:id="@+id/btnSpeak" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Button" /> 

    <EditText 
     android:id="@+id/txtText" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:ems="10" > 

     <requestFocus /> 

    </EditText> 

    <Spinner 
     android:id="@+id/spinner1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" /> 

</LinearLayout> 

這是我的java類代碼:

package com.testotspeech; 

import java.util.ArrayList; 
import java.util.Arrays; 
import java.util.Locale; 

import android.app.Activity; 
import android.os.Bundle; 
import android.speech.tts.TextToSpeech; 
import android.util.Log; 
import android.view.View; 
import android.widget.Button; 
import android.widget.EditText; 

public class AndroidTestToSpeechActivity extends Activity implements 
     TextToSpeech.OnInitListener { 
    /** Called when the activity is first created. */ 

    private TextToSpeech tts; 
    private Button btnSpeak; 
    private EditText txtText; 
    private String array_spinner[]; 
    private ArrayList<String> itemsList; 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 
     Log.i("----------",Arrays.toString(Locale.getAvailableLocales())); 
     itemsList.add(Arrays.toString(Locale.getAvailableLocales())); 
     array_spinner = new String[itemsList.size()]; 
     tts = new TextToSpeech(this, this); 
     btnSpeak = (Button) findViewById(R.id.btnSpeak); 
     txtText = (EditText) findViewById(R.id.txtText); 

     // button on click event 
     btnSpeak.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View arg0) { 
       speakOut(); 
      } 

     }); 
    } 

    @Override 
    public void onDestroy() { 
     // Don't forget to shutdown tts! 
     if (tts != null) { 
      tts.stop(); 
      tts.shutdown(); 
     } 
     super.onDestroy(); 
    } 

    public void onInit(int status) { 

     if (status == TextToSpeech.SUCCESS) { 

      int result = tts.setLanguage(Locale.ENGLISH); 

      if (result == TextToSpeech.LANG_MISSING_DATA 
        || result == TextToSpeech.LANG_NOT_SUPPORTED) { 
       Log.e("TTS", "This Language is not supported"); 
      } else { 
       btnSpeak.setEnabled(true); 
       speakOut(); 

      } 

     } else { 
      Log.e("TTS", "Initilization Failed!"); 
     } 

    } 

    private void speakOut() { 

     String text = txtText.getText().toString(); 
     tts.speak(text, TextToSpeech.QUEUE_FLUSH, null); 
    } 
} 

什麼引起的錯誤?

謝謝。

編輯:這裏是堆棧跟蹤日誌,只有紅色的錯誤:

06-04 20:20:05.609: E/AndroidRuntime(8567): FATAL EXCEPTION: main 
06-04 20:20:05.609: E/AndroidRuntime(8567): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.testotspeech/com.testotspeech.AndroidTestToSpeechActivity}: java.lang.NullPointerException 
06-04 20:20:05.609: E/AndroidRuntime(8567):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2787) 
06-04 20:20:05.609: E/AndroidRuntime(8567):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2803) 
06-04 20:20:05.609: E/AndroidRuntime(8567):  at android.app.ActivityThread.access$2300(ActivityThread.java:135) 
06-04 20:20:05.609: E/AndroidRuntime(8567):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2136) 
06-04 20:20:05.609: E/AndroidRuntime(8567):  at android.os.Handler.dispatchMessage(Handler.java:99) 
06-04 20:20:05.609: E/AndroidRuntime(8567):  at android.os.Looper.loop(Looper.java:144) 
06-04 20:20:05.609: E/AndroidRuntime(8567):  at android.app.ActivityThread.main(ActivityThread.java:4937) 
06-04 20:20:05.609: E/AndroidRuntime(8567):  at java.lang.reflect.Method.invokeNative(Native Method) 
06-04 20:20:05.609: E/AndroidRuntime(8567):  at java.lang.reflect.Method.invoke(Method.java:521) 
06-04 20:20:05.609: E/AndroidRuntime(8567):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
06-04 20:20:05.609: E/AndroidRuntime(8567):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
06-04 20:20:05.609: E/AndroidRuntime(8567):  at dalvik.system.NativeStart.main(Native Method) 
06-04 20:20:05.609: E/AndroidRuntime(8567): Caused by: java.lang.NullPointerException 
06-04 20:20:05.609: E/AndroidRuntime(8567):  at com.testotspeech.AndroidTestToSpeechActivity.onCreate(AndroidTestToSpeechActivity.java:30) 
06-04 20:20:05.609: E/AndroidRuntime(8567):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1069) 
06-04 20:20:05.609: E/AndroidRuntime(8567):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2751) 
06-04 20:20:05.609: E/AndroidRuntime(8567):  ... 11 more 
06-04 20:22:54.219: E/ActivityManager(127): fail to set top app changed! 
06-04 20:24:32.509: E/ActivityManager(127): fail to set top app changed! 
06-04 20:25:45.439: E/ActivityManager(127): fail to set top app changed! 
06-04 20:32:49.439: E/ActivityManager(127): fail to set top app changed! 
06-04 20:33:06.109: E/lights(127): write ok string=0,len=1 
06-04 20:33:06.109: E/lights(127): write ok string=0,len=1 
06-04 20:33:06.119: E/lights(127): write ok string=0 0,len=3 
06-04 20:33:06.119: E/lights(127): write ok string=1,len=1 
06-04 20:33:06.129: E/lights(127): write ok string=0,len=1 
06-04 20:33:06.129: E/lights(127): write ok string=0 0,len=3 
06-04 20:33:06.149: E/lights(127): write ok string=0,len=1 
06-04 20:33:06.159: E/lights(127): write ok string=0,len=1 
06-04 20:33:06.159: E/lights(127): write ok string=0 0,len=3 
06-04 20:33:06.169: E/lights(127): write ok string=1,len=1 
06-04 20:33:06.169: E/lights(127): write ok string=0,len=1 
06-04 20:33:06.169: E/lights(127): write ok string=0 0,len=3 
06-04 20:33:09.179: E/lights(127): write ok string=0,len=1 
06-04 20:33:09.179: E/lights(127): write ok string=0,len=1 
06-04 20:33:09.179: E/lights(127): write ok string=0 0,len=3 
06-04 20:33:09.189: E/lights(127): write ok string=1,len=1 
06-04 20:33:09.189: E/lights(127): write ok string=0,len=1 
06-04 20:33:09.189: E/lights(127): write ok string=0 0,len=3 
06-04 20:33:16.309: E/AndroidRuntime(8748): FATAL EXCEPTION: main 
06-04 20:33:16.309: E/AndroidRuntime(8748): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.testotspeech/com.testotspeech.AndroidTestToSpeechActivity}: java.lang.NullPointerException 
06-04 20:33:16.309: E/AndroidRuntime(8748):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2787) 
06-04 20:33:16.309: E/AndroidRuntime(8748):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2803) 
06-04 20:33:16.309: E/AndroidRuntime(8748):  at android.app.ActivityThread.access$2300(ActivityThread.java:135) 
06-04 20:33:16.309: E/AndroidRuntime(8748):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2136) 
06-04 20:33:16.309: E/AndroidRuntime(8748):  at android.os.Handler.dispatchMessage(Handler.java:99) 
06-04 20:33:16.309: E/AndroidRuntime(8748):  at android.os.Looper.loop(Looper.java:144) 
06-04 20:33:16.309: E/AndroidRuntime(8748):  at android.app.ActivityThread.main(ActivityThread.java:4937) 
06-04 20:33:16.309: E/AndroidRuntime(8748):  at java.lang.reflect.Method.invokeNative(Native Method) 
06-04 20:33:16.309: E/AndroidRuntime(8748):  at java.lang.reflect.Method.invoke(Method.java:521) 
06-04 20:33:16.309: E/AndroidRuntime(8748):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868) 
06-04 20:33:16.309: E/AndroidRuntime(8748):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626) 
06-04 20:33:16.309: E/AndroidRuntime(8748):  at dalvik.system.NativeStart.main(Native Method) 
06-04 20:33:16.309: E/AndroidRuntime(8748): Caused by: java.lang.NullPointerException 
06-04 20:33:16.309: E/AndroidRuntime(8748):  at com.testotspeech.AndroidTestToSpeechActivity.onCreate(AndroidTestToSpeechActivity.java:30) 
06-04 20:33:16.309: E/AndroidRuntime(8748):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1069) 
06-04 20:33:16.309: E/AndroidRuntime(8748):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2751) 
06-04 20:33:16.309: E/AndroidRuntime(8748):  ... 11 more 
06-04 20:33:16.339: E/lights(127): write ok string=0,len=1 
06-04 20:33:16.349: E/lights(127): write ok string=0,len=1 
06-04 20:33:16.349: E/lights(127): write ok string=0 0,len=3 
06-04 20:33:16.349: E/lights(127): write ok string=1,len=1 
06-04 20:33:16.349: E/lights(127): write ok string=0,len=1 
06-04 20:33:16.359: E/lights(127): write ok string=0 0,len=3 
06-04 20:33:16.559: E/lights(127): write ok string=0,len=1 
06-04 20:33:16.569: E/lights(127): write ok string=0,len=1 
06-04 20:33:16.579: E/lights(127): write ok string=0 0,len=3 
06-04 20:33:16.579: E/lights(127): write ok string=0,len=1 
06-04 20:33:16.579: E/lights(127): write ok string=0,len=1 
06-04 20:33:16.579: E/lights(127): write ok string=0 0,len=3 
06-04 20:33:16.629: E/lights(127): write ok string=0,len=1 
06-04 20:33:16.639: E/lights(127): write ok string=0,len=1 
06-04 20:33:16.639: E/lights(127): write ok string=0 0,len=3 
06-04 20:33:16.639: E/lights(127): write ok string=0,len=1 
06-04 20:33:16.639: E/lights(127): write ok string=0,len=1 
06-04 20:33:16.649: E/lights(127): write ok string=0 0,len=3 
06-04 20:33:18.789: E/lights(127): write ok string=0,len=1 
06-04 20:33:18.789: E/lights(127): write ok string=0,len=1 
06-04 20:33:18.789: E/lights(127): write ok string=0 0,len=3 
06-04 20:33:18.789: E/lights(127): write ok string=0,len=1 
06-04 20:33:18.799: E/lights(127): write ok string=0,len=1 
06-04 20:33:18.799: E/lights(127): write ok string=0 0,len=3 
06-04 20:33:23.009: E/lights(127): write ok string=0,len=1 
06-04 20:33:23.019: E/lights(127): write ok string=0,len=1 
06-04 20:33:23.019: E/lights(127): write ok string=0 0,len=3 
06-04 20:33:23.019: E/lights(127): write ok string=1,len=1 
06-04 20:33:23.029: E/lights(127): write ok string=0,len=1 
06-04 20:33:23.029: E/lights(127): write ok string=0 0,len=3 
06-04 20:33:23.049: E/DatabaseUtils(367): Writing exception to parcel 
06-04 20:33:23.049: E/DatabaseUtils(367): java.lang.SecurityException: Permission Denial: reading com.android.providers.downloads.DownloadProvider uri content://downloads/download from pid=316, uid=10007 requires android.permission.ACCESS_DOWNLOAD_MANAGER 
06-04 20:33:23.049: E/DatabaseUtils(367): at android.content.ContentProvider$Transport.enforceReadPermission(ContentProvider.java:277) 
06-04 20:33:23.049: E/DatabaseUtils(367): at android.content.ContentProvider$Transport.bulkQuery(ContentProvider.java:155) 
06-04 20:33:23.049: E/DatabaseUtils(367): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:134) 
06-04 20:33:23.049: E/DatabaseUtils(367): at android.os.Binder.execTransact(Binder.java:288) 
06-04 20:33:23.049: E/DatabaseUtils(367): at dalvik.system.NativeStart.run(Native Method) 
06-04 20:33:23.049: E/SwitchUsbSettings(316): Error when query download provider. error: java.lang.SecurityException: Permission Denial: reading com.android.providers.downloads.DownloadProvider uri content://downloads/download from pid=316, uid=10007 requires android.permission.ACCESS_DOWNLOAD_MANAGER 
06-04 20:33:23.149: E/DatabaseUtils(367): Writing exception to parcel 
06-04 20:33:23.149: E/DatabaseUtils(367): java.lang.SecurityException: Permission Denial: reading com.android.providers.downloads.DownloadProvider uri content://downloads/download from pid=316, uid=10007 requires android.permission.ACCESS_DOWNLOAD_MANAGER 
06-04 20:33:23.149: E/DatabaseUtils(367): at android.content.ContentProvider$Transport.enforceReadPermission(ContentProvider.java:277) 
06-04 20:33:23.149: E/DatabaseUtils(367): at android.content.ContentProvider$Transport.bulkQuery(ContentProvider.java:155) 
06-04 20:33:23.149: E/DatabaseUtils(367): at android.content.ContentProviderNative.onTransact(ContentProviderNative.java:134) 
06-04 20:33:23.149: E/DatabaseUtils(367): at android.os.Binder.execTransact(Binder.java:288) 
06-04 20:33:23.149: E/DatabaseUtils(367): at dalvik.system.NativeStart.run(Native Method) 
06-04 20:33:23.149: E/SwitchUsbSettings(316): Error when query download provider. error: java.lang.SecurityException: Permission Denial: reading com.android.providers.downloads.DownloadProvider uri content://downloads/download from pid=316, uid=10007 requires android.permission.ACCESS_DOWNLOAD_MANAGER 
06-04 20:33:56.369: E/ActivityManager(127): fail to set top app changed! 
06-04 20:38:30.539: E/ActivityManager(127): fail to set top app changed! 
06-04 20:50:48.819: E/ActivityManager(127): fail to set top app changed! 
06-04 20:51:59.019: E/ActivityManager(127): fail to set top app changed! 
06-04 23:01:32.909: E/Tethering(127): active iface (usb0) reported as added, ignoring 
06-04 23:02:23.029: E/Tethering(127): active iface (usb0) reported as added, ignoring 
06-04 23:04:03.339: E/Tethering(127): active iface (usb0) reported as added, ignoring 
06-04 23:07:23.899: E/Tethering(127): active iface (usb0) reported as added, ignoring 
06-04 23:09:54.619: E/Tethering(127): active iface (usb0) reported as added, ignoring 
06-04 23:14:04.959: E/Tethering(127): active iface (usb0) reported as added, ignoring 
06-04 23:16:35.439: E/Tethering(127): active iface (usb0) reported as added, ignoring 
06-04 23:20:58.319: E/jdwp(9122): Failed sending reply to debugger: Broken pipe 
06-04 23:21:36.259: E/Tethering(127): active iface (usb0) reported as added, ignoring 
+0

請發佈StackTrace。在這種情況下,重新啓動Eclipse並執行「Project-> clean」可以幫助大多數時間 –

+0

Rafael T,重新啓動Eclipse也無助於清理。我如何發佈StackTrace,我的意思是我在Eclipse中看到StackTrace的位置? – user1434011

+0

鏈接到堆棧跟蹤文本文件的完整stacktrace:http://www.scribd.com/doc/95909529/Stack-Trace – user1434011

回答

0

你的空指針告訴你,你的ArrayList itemsList是空的,而不是初始化。嘗試像這樣:

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    Log.i("----------",Arrays.toString(Locale.getAvailableLocales())); 
    itemsList = new ArrayList<String>(); 
    //here you never initialized ItemsList before, and get a nullpointer 
    itemsList.add(Arrays.toString(Locale.getAvailableLocales())); 
    array_spinner = new String[itemsList.size()]; 
    tts = new TextToSpeech(this, this); 
    btnSpeak = (Button) findViewById(R.id.btnSpeak); 
    txtText = (EditText) findViewById(R.id.txtText); 

    // button on click event 
    btnSpeak.setOnClickListener(new View.OnClickListener() { 

     public void onClick(View arg0) { 
      speakOut(); 
     } 

    }); 
} 
+0

拉斐爾T感謝愚蠢的我。我知道c#並忘記爲arrayList創建一個實例。傻我。抱歉。 – user1434011

+0

碰巧我們所有人:) Importand是,你從錯誤中學到了一次。此外,閱讀堆棧跟蹤的能力可以爲您節省大量時間。嘗試熟悉它們,如果遇到困難,則非常歡迎您使用Stackoverflow –

相關問題