2012-06-04 126 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 –

相关问题