Я использую это, чтобы получить список элементов и поместить их в список.URL также извлекается для каждого элемента.Я использую ListActivity
// Get all td's that are a child of a row - each game has 4 of these
Elements games = doc.select("tr> td.indexList1, tr > td.indexList2");
Elements links = doc.getElementsByTag("a"); // or getElementsByClass("b1");
// Iterator over those elements
ListIterator<Element> postIt = games.listIterator();
while (postIt.hasNext()) {
// ...It
while (postIt.hasNext()) {
// Add the game text to the ArrayList
Element name = postIt.next();
String nameString = name.text();
String platform = postIt.next().text();
Element url = name.select("a").first();
//Here i retreive the url string for each item
String urlString = url.attr("href");
String genre = postIt.next().text();
String releaseDate = postIt.next().text();
gameList.add(new GameRelease(nameString, platform, genre, releaseDate, urlString));
Log.v(TAG, urlString);
}
this.setListAdapter(new GameReleaseAdapter(this, gameList));
}
Я создал свой собственный ArrayAdapter здесь ...
private class GameReleaseAdapter extends ArrayAdapter<GameRelease> {
private ArrayList<GameRelease> items;
public GameReleaseAdapter(Context context, ArrayList<GameRelease> items) {
// TODO: make a layout for each item which you'd call (for example) itemLayout
super(context, R.layout.item, items);
this.items = items;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO: return an item view styled however you want or as shown in the tutorial
View v = convertView;
if (v == null) {
LayoutInflater vi = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = vi.inflate(R.layout.row, null);
}
GameRelease o = items.get(position);
TextView tt = (TextView) v.findViewById(R.id.toptext);
TextView bt = (TextView) v.findViewById(R.id.bottomtext);
TextView plat = (TextView)v.findViewById(R.id.platform);
TextView genre = (TextView)v.findViewById(R.id.genre);
tt.setText(o.getName());
bt.setText("RELEASE DATE: " +o.getReleaseDate());
plat.setText("PLATFORM: " + o.getPlatform());
genre.setText("GENRE: " + o.getGenre());
return v;
}
}
}
Как я могу сохранить URL для каждого элемента, чтобы, когдаэлемент нажимается URL-адрес отправляется с дополнительным к другой деятельности?Как я могу установить каждый элемент на свой собственный URL?Как я могу сообщить Android, что этот элемент в списке был выбран, и это должен быть Этот URL для этого конкретного элемента?
РЕДАКТИРОВАТЬ - Как это?Это дает мне тонны синтаксических ошибок
while (postIt.hasNext()) {
// Add the game text to the ArrayList
Element name = postIt.next();
String nameString = name.text();
String platform = postIt.next().text();
Element url = name.select("a").first();
String urlString = url.attr("href");
String genre = postIt.next().text();
String releaseDate = postIt.next().text();
gameList.add(new GameRelease(nameString, platform, genre, releaseDate, urlString));
Log.v(TAG, urlString);
}
this.setListAdapter(new GameReleaseAdapter(this, gameList));
final GameReleaseAdapter myGameReleaseAdapter =new GameReleaseAdapter(this,gameList);
setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
GameRelease selectedGameRelease =myGameReleaseAdapter .getItem(position);
String urlString=selectedGameRelease.getUrlString();
//Make what you like with the url
}
});
}