ユーザーが URL を RSS フィードに提供し、その情報をダウンロードして解析し、それをJTextArea
s に表示できるようにするプログラムを作成しています。
- ユーザーは、必要な数のフィード カテゴリを追加できます。(各カテゴリは別のペインに表示されます)
- ユーザーは、1 つのカテゴリに好きなだけフィードを追加できます。
- ユーザーは、新しいフィードまたは新しいカテゴリを追加できます。
ArrayList(ArrayList) = categoryList があります。その各項目は、カテゴリ = ArrayList です。また、Feed オブジェクトには、ArrayList を返す getContents() メソッドが含まれています。
すべてのフィードを JTextArea に関連付けたいと考えています。次に、対応する JTextArea に表示しながら、FeedItems を反復処理します。
Feed <=> JTextArea の間で 1 対 1 のマップを関連付ける方法を見つけることに本当に行き詰まっています。
これが私の試みです:
if (category_list.size() > 0)
{
final java.util.Iterator<ArrayList<Feed>> categoryListIterator = category_list.iterator();
final ArrayList<Feed> currCategory;
final java.util.Iterator<Feed> currFeedIterator;
while (categoryListIterator.hasNext())
{
currCategory = categoryListIterator.next();
while (((java.util.Iterator<ArrayList<Feed>>) currCategory).hasNext())
{
ArrayList<Feed> currFeed = ((java.util.Iterator<ArrayList<Feed>>) currCategory).next();
currFeedIterator = currFeed.iterator();
while (currFeedIterator.hasNext())
{
Feed feed = currFeedIterator.next();
final java.util.Iterator<FeedItem> feedIterator = feed.getContents().iterator();
while (feedIterator.hasNext())
{
// find the appropriate JTextArea
// iterate through the articles.
correspondingJtextArea.setText(feedIterator.next().toString());
}
}
}
}
}
JTextArea
どのテキストを変更する必要があるかを追跡する最善の方法を教えてください。
ここですべてのフィードを正しく反復処理していますか? 私の状況を示す短い例は非常に役に立ちます。
更新:
よし、これですべてのフィードを繰り返し処理できます。Feed を JTextArea に関連付ける HashMap を作成する方法を見つけるだけで済みます。