Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
cezer_ak
4 / 4 / 1
Регистрация: 14.02.2013
Сообщений: 232
#1

Как вывести текст айтема в ListView? - Программирование Android

20.11.2013, 21:37. Просмотров 480. Ответов 6
Метки нет (Все метки)

Добрый вечер ув. Программисты!

как вывести текст итема в листвью.

Пробовал так:

Java
1
2
3
4
5
6
 ls2.setOnItemClickListener(new AdapterView.OnItemClickListener()
        {
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
                Log.d(TAG, (String) arg0.getAdapter().getItem(arg2));
            }
        });
выводит такой текст: adr.app.Device@a6a58e30

Затем пробовал так:


Java
1
2
3
4
5
6
 ls2.setOnItemClickListener(new AdapterView.OnItemClickListener()
        {
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
                Log.d(TAG, getBaseContext() + "Clicked on " + arg2);
            }
        });
тут он поругался на строку getBaseContext() и предложил создать вот это :


Java
1
2
3
public Context getBaseContext() {
        return baseContext;
    }
вывод в логах: null Clicked on 2

Ещё пробовал так:


Java
1
2
3
4
5
6
 ls2.setOnItemClickListener(new AdapterView.OnItemClickListener()
        {
            public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
                Log.d(TAG, String.valueOf(arg0.getAdapter().getItem(arg2)));
            }
        });
вывод в логах то же самое что и первое: adr.app.Device@a6a4c320

Уже что только не пробовал, то что надо не выводит(
Подскажите как вывести?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.11.2013, 21:37     Как вывести текст айтема в ListView?
Посмотрите здесь:

Как вывести в ListView, только если тело SMS содержит определенный текст? - Программирование Android
нужно чтобы в ListView выводились только тела тех сообщений в которых есть определенный текст. сейчас есть вот такой рабочий код: ...

В ListView не получается нормально вывести текст - Программирование Android
При выводе текста в ListView получается непонятный текст,а не русский язык Помогите Заранее спасибо)

Как выводить текст используя ListView - Программирование Android
Здраствуйте уважаемые разработчики, помогите с такой задачкой - Как выводить текст из файла на TextView при нажатии на Listview id ...

Получить текст из ListView - Программирование Android
Всем привет, возникла такая необходимость получить текст из listview.Помогите пожалуста

ListView обрезает текст - Программирование Android
собрал простенький парсер но при выводе текста почему-то выводит не весь текст на эмуляторе в логах же этот же текст показывается весь ...

Как вывести текст? - Программирование Android
Привет, всем. Прошу извинить за реально глупый вопрос... Есть Button и TextView. Хочу сделать таймер по нажатию кнопки. Но суть не в...

Получить текст из одного TextView в кастомном ListView - Программирование Android
Есть кастомный ListView, в котором есть картинка и два TextView, как при нажатии на элемент этого списка получить текст допустим второго...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
21.11.2013, 01:04     Как вывести текст айтема в ListView? #2
а как вы сделали чтобы он в айтеме выводился?
cezer_ak
4 / 4 / 1
Регистрация: 14.02.2013
Сообщений: 232
21.11.2013, 07:14  [ТС]     Как вывести текст айтема в ListView? #3
Цитата Сообщение от V0v1k Посмотреть сообщение
...
Делал так:

Java
1
2
3
4
5
6
7
8
context = view.getContext();
  ListView ls2 = (ListView) view.findViewById(R.id.listView);
   CustomAdapter lvAdapter = new CustomAdapter(this.context, m_Devices);
     ls2.setAdapter(lvAdapter);
        m_Devices.clear();
          device = new Device("122222","123456", 2,0, 100);
             m_Devices.add(device);
       lvAdapter.notifyDataSetChanged();
Device отдельным классом:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
public class Device {
           
        private String m_szDeviceName;
        private String m_szDeviceAddress;
        private int m_nDeviceType;
        private int m_nDeviceStatus;
        private int m_nDeviceID;
    private Object make;
 
    public Device( String deviceName, String deviceAddress, int deviceType, int deviceStatus, int deviceID ) {
            this.m_szDeviceName = deviceName;
            this.m_szDeviceAddress = deviceAddress;
            this.m_nDeviceType = deviceType;
            this.m_nDeviceStatus = deviceStatus;
            this.m_nDeviceID = deviceID;
          }
 
 
        public String getDeviceName() { return m_szDeviceName; }
        public void setDeviceName(String deviceName) { this.m_szDeviceName = deviceName;}
        
        public String getDeviceAddress() {return m_szDeviceAddress;}
        public void setDeviceAddress(String deviceAddress) {this.m_szDeviceAddress = deviceAddress;}
        
        public int getDeviceType() { return m_nDeviceType; }
        public void setDeviceType(int deviceType) { this.m_nDeviceType = deviceType;}
        
        public int getDeviceStatus() { return m_nDeviceStatus; }
        public void setDeviceStatus(int deviceStatus) { this.m_nDeviceStatus = deviceStatus;}
        
        public int getDeviceID() { return m_nDeviceID; }
        public void setDeviceID(int deviceID) { this.m_nDeviceID = deviceID;}
 
 
}
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
21.11.2013, 12:09     Как вывести текст айтема в ListView? #4
ну и чего адаптер не показали? как в адаптере с Device выводите, так и здесь выводите.
cezer_ak
4 / 4 / 1
Регистрация: 14.02.2013
Сообщений: 232
21.11.2013, 14:48  [ТС]     Как вывести текст айтема в ListView? #5
Цитата Сообщение от V0v1k Посмотреть сообщение
...
Прошу прощения впарился вот адаптер:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
import android.content.Context;
import android.graphics.Typeface;
import android.support.v4.app.FragmentManager;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.TextView;
 
import java.util.ArrayList;
import java.util.List;
 
 
class CustomAdapterView extends LinearLayout {        
    public CustomAdapterView(Context context, Device device) 
    {
        super( context );
 
        setId(device.getDeviceID());            
        
        setOrientation(LinearLayout.HORIZONTAL);
        setPadding(0, 6, 0, 6); 
        
        LayoutParams Params = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
        Params.setMargins(6, 0, 6, 0);
        
        ImageView ivLogo = new ImageView(context);
        
        if (device.getDeviceType() == 0)
 
            ivLogo.setImageDrawable(context.getResources().getDrawable(R.drawable.off));
        else if (device.getDeviceType() == 1)
 
            ivLogo.setImageDrawable(context.getResources().getDrawable(R.drawable.on));     
        addView(ivLogo, Params);
        
        Params = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
        LinearLayout PanelV = new LinearLayout(context);
        PanelV.setOrientation(LinearLayout.VERTICAL);
        PanelV.setGravity(Gravity.BOTTOM);
        
        TextView textName = new TextView( context );
        textName.setTextSize(16);
        textName.setTypeface(Typeface.DEFAULT, Typeface.BOLD);
        textName.setText( device.getDeviceName());
        PanelV.addView(textName);       
        
        TextView textAddress = new TextView( context );
        textAddress.setTextSize(13);
        textAddress.setText( device.getDeviceAddress());
        PanelV.addView(textAddress);    
        
        addView(PanelV, Params);
    }
}
 
 
public class CustomAdapter extends BaseAdapter {
    
 
    public static final String LOG_TAG = "BI::CA";
    private Context context;
    private List<Device> deviceList;
 
    public CustomAdapter(Context context, List<Device> deviceList ) { 
        this.context = context;
        this.deviceList = deviceList;
    }
 
    public int getCount() {
        return deviceList.size();
    }
 
    public Object getItem(int position) {     
        return deviceList.get(position);
    }
 
    public long getItemId(int position) {  
        return position;
    }
 
    public View getView(int position, View convertView, ViewGroup parent) 
    { 
        Device device = deviceList.get(position);
        View v = new CustomAdapterView(this.context, device );
             return v;
    }
 
   
 
}
Добавлено через 2 часа 34 минуты
Цитата Сообщение от V0v1k Посмотреть сообщение
..
Все равно не получается(
V0v1k
1158 / 982 / 1
Регистрация: 28.06.2012
Сообщений: 3,462
21.11.2013, 15:52     Как вывести текст айтема в ListView? #6
Java
1
2
3
Device device = (Device) arg0.getAdapter().getItem(arg2);
device.getDeviceName();
device.getDeviceAddress();
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2013, 19:55     Как вывести текст айтема в ListView?
Еще ссылки по теме:

Вывести цифры в ListView - Программирование Android
Ребята есть такая проблема, после ввода символов c клавиатуры каких-либо, упорядочивания, их нужно вывести в ListView. Как это сделать.

Вывести выбранный элемент ListView в Toast? - Программирование Android
Вот так вывожу массив в ListView String comp = {&quot;text1&quot;,&quot;text2&quot;,&quot;text3&quot;}; ListView lvMain = (ListView) findViewById(R.id.listView1);...

Получить json в приложении и вывести его в listview во фрагмент - Программирование Android
Здравствуйте, у меня такая проблема не могу разобраться как получить json в приложение и вывести его в listview во фрагмент.

При нажатии на элемент ListView вывести новое Activity с информацией об этом элементе - Программирование Android
Здравствуйте! Помогите пожалуйста! В общем есть список ListView с названиями кафе и ресторанов, надо сделать так чтобы при нажатии на...

Как перевернуть ListView? - Программирование Android
Здравствуйте! Подскажите, пожалуйста, как перевернуть ListView. Чтобы новые элементы, которые добавляются динамически, добавлялись вверх...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
cezer_ak
4 / 4 / 1
Регистрация: 14.02.2013
Сообщений: 232
21.11.2013, 19:55  [ТС]     Как вывести текст айтема в ListView? #7
Цитата Сообщение от V0v1k Посмотреть сообщение
...
Большое спасибо, всё получилось!!!
Yandex
Объявления
21.11.2013, 19:55     Как вывести текст айтема в ListView?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru