sax xmlparser を使用していますが、トーストで結果を出力できません。null ポインター例外が発生します。textview 配列を使用する例を見つけましたが、トーストを使用したいです。アンドロイドの元のコードは正常に動作しますが、同じコードを自分のプロジェクトに適用すると、毎回失敗します。
Main.java >
import java.net.URL;
import javax.xml.parsers.SAXParser;
import javax.xml.parsers.SAXParserFactory;
import org.xml.sax.InputSource;
import org.xml.sax.XMLReader;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.CheckBox;
import android.widget.Toast;
public class Main extends Activity {
String strGK = null;
String strHWW = null;
String strHak5 = null;
CheckBox GK;
CheckBox HWW;
CheckBox Hak5;
SitesList sitesList = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void getUrl(View v) {
try {
/** Handling XML */
SAXParserFactory spf = SAXParserFactory.newInstance();
SAXParser sp = spf.newSAXParser();
XMLReader xr = sp.getXMLReader();
/** Send URL to parse XML Tags */
URL sourceUrl = new URL("http://websitethatcontains/feed");
/** Create handler to handle XML Tags ( extends DefaultHandler ) */
MyXMLHandler myXMLHandler = new MyXMLHandler();
xr.setContentHandler(myXMLHandler);
xr.parse(new InputSource(sourceUrl.openStream()));
} catch (Exception e) {
System.out.println("XML Parsing Exception = " + e);
}
/** Get result from MyXMLHandler SitlesList Object */
sitesList = MyXMLHandler.sitesList;
/** Set the result text in textview and add it to layout */
for (int i = 0; i < sitesList.getName().size(); i++) { /** <- the prob. seems to be here */
Toast.makeText(getApplicationContext(), sitesList.getName().get(i), Toast.LENGTH_LONG).show();
}
}
}