Если у вас есть какие-либо знания о ListViews / RSS-каналах / программировании Android в целом, пожалуйста, быстро взгляните на этот вопрос.Спасибо!
У меня есть ListView из нескольких элементов (сообщений), которые перечислены в моей NewsActivity следующим образом:
public class NewsActivity extends ListActivity {
private List<Message> messages;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.news);
loadFeed();
}
private void loadFeed(){
try{
BaseFeedParser parser = new BaseFeedParser();
messages = parser.parse();
List<String> titles = new ArrayList<String>(messages.size());
List<String> descriptions = new ArrayList<String>(messages.size());
List<String> dates = new ArrayList<String>(messages.size());
for (Message msg : messages){
titles.add(msg.getTitle());
descriptions.add(msg.getDescription());
dates.add(msg.getDate());
}
ArrayAdapter<String> adapter =
new ArrayAdapter<String>(this, R.layout.row,titles);
this.setListAdapter(adapter);
} catch (Throwable t){
Log.e("AndroidNews",t.getMessage(),t);
}
}
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Intent i = new Intent(this, RSSItem.class);
//id = the id of the item clicked
startActivityForResult(i, 1);
int count = 0;
for (Message msg : messages) {
if(count == id){
//This is obviously not how it should be done.
//But my idea here is that I need to pass the msg to the new RSSItem class.
RSSItem item = new RSSItem(msg);
}
count++;
}
}
}
Эта NewsActivity отображает мой ListView заголовков каждого сообщения.Часть, с которой мне нужна помощь - последняя функция onListItemClick.Функция создает новую активность RSSItem.Мне просто нужно отобразить заголовок, дату и описание этого элемента (которые все в настоящее время сохраняются в списках) в этом новом действии.Вот что у меня есть для класса RSSItem:
public class RSSItem extends Activity {
private Message rssItem;
private String title;
private String date;
private String description;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.rssitem);
}
public RSSItem(){
//default constructor: must have 0 arguments
}
public RSSItem(Message msg){
rssItem = msg;
title = rssItem.getTitle();
date = rssItem.getDate();
description = rssItem.getDescription();
}
}
Итак ... в настоящее время RSSItem получает сообщение от NewsActivity и сохраняет заголовок, дату и описание.Если это нужно сделать лучше / другим способом, пожалуйста, дайте мне знать.
Теперь мне просто нужно отобразить эту информацию (название, дату, описание) в этом новом действии RSSItem.Однако я не совсем уверен, как это работает / как это сделать.Это полностью определяется файлом R.layout.rssitem?Вот мой файл R.layout.rssitem:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1" />
</LinearLayout>
<TextView android:id="@+id/description" android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:scrollbars="vertical" />
</LinearLayout>
В настоящее время активность RSSItem ничего не отображает.Любая помощь будет принята с благодарностью !!