から呼び出さなければなりませんが、私は私が取ることになるAsyncTaskにコンストラクタを追加する必要が考えてAsyncTask-法のgetTextは、UIスレッド
edtUrl.getText().toString();
の下にエラー「メソッドのgetTextは、UIスレッドから呼び出さなければなりません」Theresの2つの文字列は、あなたのタスクを作成するときにそれらを送信?誰にでもアイデアはありますか?別のものを使用してみましたので、ちょうどこの情報のような疑問が、何もこれは私のonClick(ある
private class ParseURL extends AsyncTask<String, Void, String> {
private String siteUrl;
@Override
protected String doInBackground(String... strings) {
StringBuffer buffer = new StringBuffer();
//EditText edtUrl = (EditText) findViewById(R.id.edtURL);
//String siteUrl = edtUrl.getText().toString();
try {
Log.d("JSwa", "Connecting to ["+strings[0]+"]");
Document doc = Jsoup.connect(strings[0]).get();
Log.d("JSwa", "Connected to ["+strings[0]+"]");
// Get document (HTML page) title
String title = doc.title();
Log.d("JSwA", "Title ["+title+"]");
buffer.append("Title: " + title + "\r\n");
try {
doc = Jsoup.connect(siteUrl)
.userAgent("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0")
.referrer("http://www.google.com")
.timeout(1000 * 5) //it's in milliseconds, so this means 5 seconds.
.get();
} catch (Throwable t) {
t.printStackTrace();
}
Elements tableElements = doc.select("td");
for (Element td : tableElements) {
buffer.append("TT [" + td + "] \r\n");
Log.d("JSwA", "TT [" + td + "]");
}
を働いていない)、Imは下記SITEURLの両方でエラーが発生して。
@Override
public void onClick(View view) {
// String siteUrl = edtUrl.getText().toString();
siteUrl = "http://www.w3schools.com/html/html_tables.asp";
(new ParseURL()).execute(new String[]{siteUrl});
これは私が使用しようとしていたfindViewsById()メソッドです。私のプロジェクトにこのコードを組み込むしようとしているときに
protected void onPreExecute() {
super.onPreExecute();
EditText edtUrl = (EditText) findViewById(R.id.edtURL);
siteUrl = edtUrl.getText().toString();
}
エラーが表示され、それは私のparseURLをメソッドの一部です:
try {
doc = Jsoup.connect(siteUrl)
.userAgent("Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:25.0) Gecko/20100101 Firefox/25.0")
.referrer("http://www.google.com")
.timeout(1000 * 5) //it's in milliseconds, so this means 5 seconds.
.get();
} catch (Throwable t) {
t.printStackTrace();
}
あなたは、バックグラウンドスレッドから何らかの方法でUIとやりとりするべきではありません。それはあなたの誤りではありませんが、ただ頭を上げてください。 – zgc7009
メインスレッドで実行されるランナブルを作成することができます - http://stackoverflow.com/a/11125271/2363967 –
あなたはどんなエラーを出していますか? –