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

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Несовместимость CheckBox & AlertDialog http://www.cyberforum.ru/android-dev/thread1011692.html
В одном Activity используется ChexBox и AlertDialog Делаю это приблизительно так: AlertDialog ad = new AlertDialog.Builder(MainActivity.this); ad.setPositiveButton("Ok", new...
Программирование Android Как вставить иконку в TextView? Здравствуйте!Как в TextView вместо слова "City" вставить маленькую иконку?Типа картинка и рядом название города. // Get the city textview.setText(textview.getText() + "City... http://www.cyberforum.ru/android-dev/thread1011444.html
Программирование Android проблема со Spinner'ом
Добрый день подскажите где может быть ошибка ... import java.util.ArrayList; import java.util.List; import android.app.Activity; import android.content.Intent; import android.os.Bundle;...
Удалить файл базы с SD карты при удалении приложения Программирование Android
Возможно ли такое ? Файл базы создаю: public DBHelper(Context context) { super(context, "/sdcard/"+DATABASE_NAME, null, 1); ...
Программирование Android Как отправить из одного приложения другому приложению широковещательное намерение? http://www.cyberforum.ru/android-dev/thread1010990.html
Имеется приложение 1, на котором размещен приемник. Также имеется приложение 2, которое хочет запустить приемник из приложения 1. Как это сделать?
Программирование Android Ссылками открывает не там Сделал приложение - часть которого справочник. Реализован в HTML страницах, которые отображает WebView. Проблема со следующим меню <ul id="mainMenuList"> <li id="gNiVGhqWvOmf"><a... подробнее

Показать сообщение отдельно
cezer_ak
4 / 4 / 1
Регистрация: 14.02.2013
Сообщений: 232

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

19.11.2013, 13:01. Просмотров 1885. Ответов 19
Метки (Все метки)

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

Нашёл код который заполняет ListView с кастомным адаптером. Но вот проблема ListView создаётся программно(

Вот код:
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
94
95
96
97
98
99
100
101
102
import android.content.Context;
import android.graphics.Typeface;
import android.view.Gravity;
import android.view.View;
import android.view.ViewGroup;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.BaseAdapter;
import android.widget.ImageView;
 
class CustomAdapterView extends LinearLayout {        
    public CustomAdapterView(Context context, Device device) 
    {
        super( context );       
        
        setId(device.getDeviceID());
            
        
        setOrientation(LinearLayout.HORIZONTAL);
        setPadding(0, 6, 0, 6);
        
        
        LinearLayout.LayoutParams Params = new LinearLayout.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 LinearLayout.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(16);
        textAddress.setText( device.getDeviceAddress());
        PanelV.addView(textAddress);    
        
        addView(PanelV, Params);
    }
}
 
 
public class CustomAdapter extends BaseAdapter{
    
      
        private int mPosition;
        OnItemClickListener(int position){
                mPosition = position;
        }
        public void onClick(View arg0) {
                Log.v("ddd", "onItemClick at position" + mPosition);                      
        }               
    
 
    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;
    }
 
 
}


Вопрос: Есть four.xml в нём listView как добавить в него данные, а не создавать программно?

Примечание: Так как у меня несколько экранов а не 1. на каждый экран у меня по xml`у. И нужно именно в определённый xml заполнить ListView

Код добавления:



Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
        final Context context = MainActivity.this;
        ListView ls2 = new ListView(context);
        ls2.setAdapter(null);
 
...
 
 for(int i=0; i<fileData.length; i++)
            {
                String[] fileData2 = fileData[i].split(";");
                int dev;
                dev=Integer.parseInt(fileData2[2]);
 
                device = new Device(fileData2[0],fileData2[1], dev%2,0, 100 + i);
                m_Devices.add(device);              
            }
 
CustomAdapter lvAdapter =  new CustomAdapter(context, m_Devices);
        ls2.setAdapter(lvAdapter);        
 
        setContentView(ls2);
    }
Спасибо за ранее.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru