Javaのnoobはここに!私は、私が書いているAndroidアプリに仕上げのタッチを入れるのに苦労している。基本的にRSSリーダーです。非同期タスクはRSSフィードをフェッチします。それが解析され、最終的に私がしたいのは、解析されたRSSでアクティビティのListView要素を更新することです。Javaクラスの周りにデータを渡す
fetcherのタストは非同期であるため、独自のクラスにあるため、UIを直接更新することはできません(私は信じています)。
マイonPostExecuteの宣言は次のとおりです。
public class getNews extends AsyncTask<String , Void ,String> {
String server_response;
// url fetch stuff is in here
}
protected void onPostExecute(String s) {
super.onPostExecute(s);
FullscreenActivity.updateNews(server_response)
}
FullscreenActivity.javaクラスはserver_responseを受け取り、罰金、それを解析します
public static void updateNews(String newsXML) {
// stuff goes on here, and I end up with a string array called headlines that
// contains the news headlines
}
私はリストビューを更新しようとすると、私の問題が来ます。私はこの
ListView m_listview = (ListView) findViewById(R.id.ListViewRight);
ようupdateNewsでそれを実行しようとした場合、私は非静的メソッドを言うfindViewById下の赤い波状を取得...静的コンテキストから参照することはできません。
私はupdateNews()を非静的にすると、同じことを言っているonPostExecuteルーチンのupdateNewsの下に赤いウィッグが表示されます。
私のサブルーチンの宣言で、私の非同期受信機、パーサ、およびListViewからXMLを取得するのに必要なフレーバーの組み合わせは何ですか?
私は静的、私的、公衆などと全く混同されています。彼らについて読むことを試みた後でさえ、私は誰も賢明ではありません!
プロジェクトがあれば、Githubに投稿することができます。私はそれがまさにJavaがどのように見えるかの輝かしい例ではないと確信しています!事前に
おかげで、 イアン
ご協力いただきありがとうございます。これに続いて、自分のアクティビティクラスにいくつかの行を追加することでコードを作成しました。私は以下で説明します。ここに十分な文字がありません... – Iain