私はRSSフィードを私のアプリケーションのリストビューに解析しました。私はそれがrssの各項目のリンクを引っ張って、リストビュー内の項目をクリックすると開きます。基本的には、私はすでにすべてのものが用意されていますが、このステートメントの後にどのコーディングを使うべきかはっきりしていません。onItemClick RSSフィードからのURLを開く
ます。public void onItemClick(AdapterView親、ビュービュー、int型の位置、長いID){
私は私のコードは、RSSファイルに保存されたURLを開くためのあるべき場所であると知っているが、わからないどのようにここからそれを検索します。どんな助けでも大歓迎です。
パブリッククラスMainActivityアクティビティがOnItemClickListener {
//RSS Feed URL
private final String CGR_FEED_URL = "http://www.mychurchevents.com/Calendar/RSS.ashx?days=7&ci=G1M7G1N8K5G1N8N8H2&igd=";
//XML Widgets
private ListView listview_episodes;
private ProgressBar progress_bar;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//XML Widgets by ID
listview_episodes = (ListView) findViewById(R.id.listview_episodes);
listview_episodes.setOnItemClickListener(this);
progress_bar = (ProgressBar) findViewById(R.id.progress_bar);
//Make Progress Bar Invisible
progress_bar.setVisibility(ProgressBar.INVISIBLE);
new ArrayList<String>();
new ArrayList<String>();
downloadEpisodes(CGR_FEED_URL);
}
private void downloadEpisodes(String Url) {
//Make Progress Bar Visible While Downloading Feed
progress_bar.setVisibility(ProgressBar.VISIBLE);
Log.d("CGRParser", "Downloading Feed");
//Start an ASync Thread to take care of Downloading Feed
new DownloadEpisodes().execute(Url);
}
private class DownloadEpisodes extends AsyncTask<String, Integer, ArrayList<Episode>> {
@Override
protected ArrayList<Episode> doInBackground(String... url) {
//Download and Parse Feed
XmlFeedParser parser = new XmlFeedParser();
ArrayList<Episode> episodes = new ArrayList<Episode>();
episodes = parser.parse(url[0]);
return episodes;
}
@Override
protected void onPostExecute(ArrayList<Episode> result) {
//Feed has been Downloaded and Parsed, Display Data to User
Log.d("CGRParser", "Feed Download Complete");
displayEpisodes(result);
}
}
private void displayEpisodes(ArrayList<Episode> episodes) {
//Create String Arrays to seperate titles and dates
Log.d("CGRParser", "Displaying Episode Titles To User");
ArrayList<String> episode_titles = new ArrayList<String>();
ArrayList<String> episode_dates = new ArrayList<String>();
for (Episode episode : episodes) {
Log.d("CGRParser", "Episode Title: " + episode.getTitle());
episode_titles.add(episode.getTitle());
episode_dates.add(episode.getDate());
}
//Create a ListAdapter to Display the Titles in the ListView
ListAdapter adapter = new ArrayAdapter<String>(this, R.layout.episode_row, R.id.title, episode_titles);
listview_episodes.setAdapter(adapter);
//Set Progress Bar Invisible since we are done with it
progress_bar.setVisibility(ProgressBar.INVISIBLE);
}
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
}
}私はthis
Tutorial
を通過し、完全なソースコードをダウンロードし、作業それを得るために主張だけでしょう `
私はそれをやったことがあり、私はそれが必要な方法で動作することはありませんでした。私はxml解析をうまく行って、すべてが別のチュートリアルを使用して、必要なもので修正しています。私が必要とするのは、リストビューのアイテムをクリックした後でリンクをロードする方法を理解することですが、RSSファイルからリンクをロードする必要があります。 – Bryan
さて、コードを投稿してあなたがしたこととどこに問題があるのかについての正確なアイデア。 –
すべてのコードは私が投稿したいと私は喜んでそれを投稿しますか – Bryan