错误消息 - 源附件不包含文件ListView.class的源

时间:2011-02-04 20:03:12

标签: android listactivity

Android新手。我在调试器的角度看到以下消息:

源附件不包含文件ListView.class的源 您可以通过单击附加源下面的更改来更改源附件

不用说应用程序错误。我试图将源附件更改为位置路径:

C:/ Program Files / Android / android-sdk-windows / platforms / android-8 / android.jar

但是,这不起作用。

任何想法都会非常感激。

代码是:

import android.app.ListActivity;
import android.os.Bundle;
import android.view.*;
import android.widget.*;


public class HelloListView extends ListActivity 
{
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);

      setListAdapter(new ArrayAdapter<String>(this, R.layout.main, COUNTRIES));

      ListView lv = getListView();
      lv.setTextFilterEnabled(true);

     lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view,
            int position, long id) {
          // When clicked, show a toast with the TextView text
          Toast.makeText(getApplicationContext(), ((TextView) view).getText(),
              Toast.LENGTH_SHORT).show();
        }
      });
    }


    static final String[] COUNTRIES = new String[] {
        "Afghanistan", "Albania", "Algeria", "American Samoa...

谢谢!

3 个答案:

答案 0 :(得分:4)

The source attachment does not contain the source for the file ListView.class

  

不用说应用程序错误。

调试器只是说调试器中当前突出显示的堆栈帧是在ListView类中,并且您没有源代码可以在编辑器中使用它。 这肯定不是您使用程序遇到的任何问题的原因。如果您找到与源代码对应的堆栈框架,调试器将很乐意向您显示与堆栈框架对应的代码。您可能会遇到安装Android源代码的麻烦,但它无法解决您对程序的任何问题。

请说明您的程序出错了什么 - 除了该消息之外还有什么症状。请查看LogCat中的错误消息,异常和堆栈跟踪并发布它们。

答案 1 :(得分:2)

如果您拥有源代码,它只允许您自己进入操作系统类的源代码,这可能会让您感到困惑。要查看它在调试器中停止时的原因,请继续按F6直到调试透视图中的变量显示异常。它将类似于:

这个InvocationTargetException(id = ????????)
异常IllegalStateException(id = ????????)
导致ClassCastException(id = ????????)
detailMessage“ArrayAdapter需要资源ID为TextView”(id = ????????)

因为我过去已经完成了这个教程并且知道了这一行:

setListAdapter(new ArrayAdapter<String>(this, R.layout.main, COUNTRIES));

应该是

setListAdapter(new ArrayAdapter<String>(this, R.layout.list_item, COUNTRIES));

这就是原因

答案 2 :(得分:2)

如果未正确设置源路径,则会显示此错误消息。如果是Eclipse,则单击更改附加源按钮,该按钮显示在错误消息下方,并提供源路径(例如C:/ Program Files / Java / jdk1.6.0_24 / src.zip)。

转到项目&gt;属性&gt; Java构建路径&gt;图书馆 展开JRE系统库。展开rt.jar。 选择源附件,然后双击或编辑。 键入路径源代码文件(外部文件...),然后按确定。

参考:http://android.okhelp.cz/class-file-editor-source-not-found-change-attached-source-eclipse/