ListView в Android из 2 массивов динамических строк - PullRequest
0 голосов
/ 02 июля 2011

У меня есть два строковых массива, здесь s1 [] содержит список имен, а s2 [] содержит URL-адреса, связанные с соответствующим именем, теперь мне нужно заполнить ListView именами и щелкнуть любое из имен, я хочуначать намерение браузера обработать URL.

Как мне это сделать?

Ответы [ 3 ]

0 голосов
/ 02 июля 2011

Создайте класс, например:

class Link{
    public String name;
    public String link;
}

Затем вы можете создать собственный просмотр списка, который расширяет ArrayAdapter и переопределяет getView, а также onItemSelected.В обоих из этих методов вы сможете получить элемент, используя параметр 'position'.

0 голосов
/ 02 июля 2011
public class MyActivity extends ListActivity{

private ArrayList<String> urls = new ArrayList<String>();
private ArrayList<String> names = new ArrayList<String>();


@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    urls.add("http://www.google.com");
    names.add("google");

    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, android.R.id.text1, names);
    setListAdapter(adapter);

}

protected void onListItemClick (ListView l, View v, int position, long id){
    String url = urls.get(position);

    Intent i = new Intent(Intent.ACTION_VIEW);
    i.setData(Uri.parse(url));
    startActivity(i);
}

}

0 голосов
/ 02 июля 2011

Используйте адаптер массива, чтобы заполнить представление списка из s1, и в обработчике щелчков для просмотра списка найдите URL-адрес для заданной позиции списка и инициируйте намерение в браузере.

В качестве примерас помощью адаптера массива см. демонстрации API и, в частности, list1 .

. Пример настройки действия в качестве onItemClickListener см. в https://github.com/nikclayton/android-squeezer/blob/cache-server-data/src/com/danga/squeezer/AlbumsListActivity.java#L88 и https://github.com/nikclayton/android-squeezer/blob/cache-server-data/src/com/danga/squeezer/AlbumsListActivity.java#L288.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...