Код выглядит следующим образом, и я устанавливаю точку останова на определенной строке (я пометил ее в приведенном ниже коде, фактически 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 нужно больше исходного кода?