このスレッドの実行中に問題が発生したため、アプリがクラッシュします。問題がどこにあるのか、よくわかりません。
public void onClick(DialogInterface dialog, int which) {
//Searching with post request
BugSenseHandler.sendEvent("Search started");
new Thread(new Runnable() {
@Override
public void run() {
try {
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("find", etMedName.getText().toString()));
String prec = "";
if (cbPrecise.isChecked()) prec = "on";
else prec = "off";
nameValuePairs.add(new BasicNameValuePair("exact_match", prec));
HttpClient client = new DefaultHttpClient();
HttpPost post = new HttpPost("http://mashkovsky.ru/tiki-listpages.php");
post.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse resp = client.execute(post);
String html = "";
html = EntityUtils.toString(resp.getEntity());
Document doc = Jsoup.parse(html, "http://mashkovsky.ru/tiki-listpages.php");
Element content = doc.getElementById("wrapper");
wView.loadData(content.outerHtml(), "text/html", "utf-8");
MainActivity.this.removeDialog(SEARCH_DIALOG);
}
catch (ClientProtocolException e) {e.printStackTrace();}
catch (IOException e) {e.printStackTrace();}
}
}).start();
}
Eclipse の LogCat ウィンドウにスタックトレースはありませんが、BugSenseはこの短いスタックトレースを表示します
java.lang.NullPointerException
at ru.pathdevel.mashkovsyreference.MainActivity$1$1.run(MainActivity.java:106)
at java.lang.Thread.run(Thread.java:856)
UPD: 問題は解決しました。すべてが初期化されていました。searchdialog.xml ではなく、main.xml レイアウト ウィジェットを使用しようとしていました。