代码如下,我在某一行设置断点(我在下面的代码中标记了它,事实上,Eclipse总是告诉我“找不到源”,无论我在哪里设置断点):
package com.app.MainActivity;
import java.io.IOException;
import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import android.app.Activity;
import android.content.res.XmlResourceParser;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class Chapter03_ResourceActivity extends Activity {
/** Called when the activity is first created. */
private Button myButton;
final private TextView myTextView = (TextView)findViewById(R.id.text_xml);
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
myButton = (Button)findViewById(R.id.btn_xml);
myButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
StringBuilder sb = new StringBuilder(); <==Here breakpoint
XmlResourceParser xrp = getResources().getXml(R.xml.test);
int counter = 0;
try {
while(xrp.getEventType() != XmlPullParser.END_DOCUMENT) {
if(xrp.getEventType() == XmlPullParser.START_TAG) {
String name = xrp.getName();
if(name.equals("customer")) {
counter ++;
sb.append(counter + " Customer" + "\n");
sb.append(xrp.getAttributeValue(0) + "\n");
sb.append(xrp.getAttributeValue(1) + "\n");
sb.append(xrp.getAttributeValue(2) + "\n\n");
}
xrp.next();
}
}
myTextView.setText(sb.toString());
} catch(IOException e) {
e.printStackTrace();
} catch(XmlPullParserException e) {
e.printStackTrace();
}
}
});
}
}
运行 - 调试,然后我得到一个提示:找不到源。为什么? Eclipse不能在我提供的代码中的断点处停止吗?为什么eclipse需要更多源代码?
答案 0 :(得分:13)
这有帮助吗?
开始调试,直到遇到断点
右键单击Debug透视图的Debug视图(例如在调用堆栈上),然后选择“Edit Source Lookup Path”
将所有项目添加到“默认”上方,通过“添加...”&gt; “Java项目”&gt; “全选”
答案 1 :(得分:1)
您需要将android源添加到您的项目中。问题是当你进入一个android类文件(例如import android.app.Activity)时,你正在从你的代码中走出来并进入一个android类文件。