2015-10-06 4 views
0

У меня есть ListView, который получает текст с сайта. Он читает из текстового файла (ов) данные, подобные этому Имя Адрес Номер , а текстовый файл - это имя идентификатора, которое имеет каждый человек. Теперь я хочу получить идентификатор, когда я нажимаю элемент списка, есть ли все-таки хранить данные в элементе listview? БлагодаряAndroid ListView скрыть данные

+0

Пожалуйста, разместите свой код. – Jas

+2

Вы должны создать свой собственный пользовательский адаптер и пользовательский вид для listview и json parser. Является слишком широким, чтобы объяснить здесь, и был ответ много, много раз. Покажите свой код. http://stackoverflow.com/help/how-to-ask –

+0

используйте адаптер как: 'ArrayAdapter ' где 'Person' класс содержит все ваши данные – pskink

ответ

0

Вам нужно написать специальный адаптер вместо использования только ArrayAdapter.

Вот пример одного: https://github.com/kweaver00/android-learning/blob/master/ListView/CustomAdapter%20-%20Custom%20Rows/CustomAdapter/app/src/main/java/com/weaverprojects/customadapter/CustomAdapter.java

Так что вы хотите написать в CustomAdapterClass:

CustomObjectThatHasJustStringAndId singleRow = data.get(position); 

holder.text1.setText(singleRow.getString()); 

holder.text1.setOnClickListener(new View.OnClickList.... 

И в действии, нажмите:

int id = singleRow.getId(); 

В файле деятельности :

ArrayList<CustomObjectThatHasJustStringAndId> data = new ArrayList<>(); 
CustomAdapter mCustomAdapter = new CustomAdapter(this, R.layout.custom_layout, data); 
0

Если вы используете ViewHolder то для любых видов в вашей ViewHolder вы можете:

viewHolder.someTextView.setTag(id); 

и получить то же самое значение:

(String) viewHolder.someTextView.getTag() 
+0

Я просто с помощью этот 'adapter = new ArrayAdapter (это, R.layout.custom_list, listItems); list.setAdapter (адаптер); ' –

+0

Для этого вам нужно написать собственную собственную реализацию адаптера, написать класс, расширяющий' ArrayAdapter' – JavaGhost

Смежные вопросы