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

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

Войти
Регистрация
Восстановить пароль
 
Dantes2104
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 61
#1

Собственный адаптер на основе ArrayAdapter - Программирование Android

26.01.2016, 16:53. Просмотров 408. Ответов 17

Хочу реализовать, чтобы при keydown элемент списка менял цвет фона, а при keyup возвращался в исходное положение, и в то же время выполнял действие которое прописано в методе onListItemClick в активити, которое использует этот адаптер.

Код адаптера
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
public class MyAdapter<T> extends ArrayAdapter<T> {
    SharedPreferences s;
    Context contextall;
 
    public MyAdapter(Context context, int resource, T[] objects) {
        super(context, resource, objects);
        contextall = context;
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        S.pomfv(parent, contextall);
        TextView tv = (TextView) super.getView(position,convertView,parent);
        S.pom(tv, contextall);
        S.pomtv(tv, contextall);
        tv.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                s = PreferenceManager.getDefaultSharedPreferences(contextall);
                if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
                    String color1 = s.getString("menfon", "#FFFFFF");
                    if (S.isHEX(color1)) {
                        view.setBackgroundColor(Color.parseColor(color1));
                    } else {
                        color1 = "#FFFFFF";
                        view.setBackgroundColor(Color.parseColor(color1));
                    }
                } else if (motionEvent.getAction() == MotionEvent.ACTION_UP) {
                    String color1 = s.getString("menfon2","#000000");
                            if (S.isHEX(color1)){
                                view.setBackgroundColor(Color.parseColor(color1));
                            }else{
                                color1 = "#000000";
                                view.setBackgroundColor(Color.parseColor(color1));
                            }
                }
 
                return true;
            }
        });
        return tv;
    }
 
 
 
}


Часть кода активити
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
 protected void onListItemClick(ListView l, View v, int position, long id) {
        switch (position) {
            case 0:
                Intent in0 = new Intent(Pre_Pre_Two_Activity.this,Pre_One_Pre_Activity.class);
                in0.putExtra("pre",0);
                startActivity(in0);
                break;
            case 1:
                Intent in1 = new Intent(Pre_Pre_Two_Activity.this,Pre_One_Pre_Activity.class);
                in1.putExtra("pre",1);
                startActivity(in1);
                break;
            case 2:
                Intent in2 = new Intent(Pre_Pre_Two_Activity.this,Pre_One_Pre_Activity.class);
                in2.putExtra("pre", 2);
                startActivity(in2);
                break;
            case 3:
                Intent in3 = new Intent(Pre_Pre_Two_Activity.this,Pre_One_Pre_Activity.class);
                in3.putExtra("pre",3);
                startActivity(in3);
                break;
 
 
        }
    }


То есть если я меняю onToucListener, то метод onListItemClick в активити не вызывается и нельзя перейти в другое активити. Класс MyAdapter используется во многих классах, поэтому я не могу просто в нём прописать переход. Заранее спасибо.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.01.2016, 16:53     Собственный адаптер на основе ArrayAdapter
Посмотрите здесь:
Собственный ArrayAdapter Android
Android ACTION_SEND в ArrayAdapter
Привязка класса к ArrayAdapter Android
Android Обновление данных в ArrayAdapter
ArrayAdapter и много заморочек Android
Отличия в работе ArrayAdapter Android
Android Кастомный ArrayAdapter для Spinner
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
26.01.2016, 17:10     Собственный адаптер на основе ArrayAdapter #2
http://stackoverflow.com/a/11579132
public abstract boolean onTouch (View v, MotionEvent event)
...returns true, if the listener has consumed the event, false otherwise. So you can decide in your implementation if the Event should also be handled by OnClickListener, then just return false.
Dantes2104
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 61
26.01.2016, 17:30  [ТС]     Собственный адаптер на основе ArrayAdapter #3
С английским у меня плохо. Может быть вы приведёте примет использования?
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
26.01.2016, 17:41     Собственный адаптер на основе ArrayAdapter #4
Цитата Сообщение от Dantes2104 Посмотреть сообщение
С английским у меня плохо
Это нехорошо, но не упускайте шанс подучить, практикуясь на вот таких вот кошках

Цитата Сообщение от Dantes2104 Посмотреть сообщение
Может быть вы приведёте примет использования?
Там всё сказано.
Чтобы после onTouch отработал onClick, нужно, чтобы onTouch в нужном месте вернул false.
В вашем случае, после отработки MotionEvent.ACTION_UP нужно вернуть false.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                s = PreferenceManager.getDefaultSharedPreferences(contextall);
                if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
                    String color1 = s.getString("menfon", "#FFFFFF");
                    if (S.isHEX(color1)) {
                        view.setBackgroundColor(Color.parseColor(color1));
                    } else {
                        color1 = "#FFFFFF";
                        view.setBackgroundColor(Color.parseColor(color1));
                    }
                return true;  
                } else if (motionEvent.getAction() == MotionEvent.ACTION_UP) {
                    String color1 = s.getString("menfon2","#000000");
                            if (S.isHEX(color1)){
                                view.setBackgroundColor(Color.parseColor(color1));
                            }else{
                                color1 = "#000000";
                                view.setBackgroundColor(Color.parseColor(color1));
                            }
                return false; 
                }
             }
Dantes2104
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 61
26.01.2016, 17:51  [ТС]     Собственный адаптер на основе ArrayAdapter #5
К сожалению мне очень не удобно использовать onClick, потому что много активити использую этот класс и у всех разные переходы. Вы случаем не знаете как, например тем же onClick вызвать метод onListItemClick из активити, которое в данный момент его использует?
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
26.01.2016, 17:55     Собственный адаптер на основе ArrayAdapter #6
Вы код испробовали?
onListItemClick отработался?
Dantes2104
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 61
26.01.2016, 18:00  [ТС]     Собственный адаптер на основе ArrayAdapter #7
Да опробовал, но метод не сработал.
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
26.01.2016, 19:04     Собственный адаптер на основе ArrayAdapter #8
Цитата Сообщение от Dantes2104 Посмотреть сообщение
Да опробовал, но метод не сработал.
Да, недоработка.
В принципе, чего бы ему и срабатывать-то?
У вас onTouchListener повешен на TextView tv (кстати зачем?), а OnItemClickListener() висит на ListView.

У меня нету готового "полигона", чтобы тестить самому.
Попробуйте повесить onTouchListener на convertView, а не на TextView.
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 View getView(int position, View convertView, ViewGroup parent) {
        S.pomfv(parent, contextall);
        TextView tv = (TextView) super.getView(position,convertView,parent);
        S.pom(tv, contextall);
        S.pomtv(tv, contextall);
        convertView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                s = PreferenceManager.getDefaultSharedPreferences(contextall);
                if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
                    String color1 = s.getString("menfon", "#FFFFFF");
                    if (S.isHEX(color1)) {
                        view.setBackgroundColor(Color.parseColor(color1));
                    } else {
                        color1 = "#FFFFFF";
                        view.setBackgroundColor(Color.parseColor(color1));
                    }
                return true;  
                } else if (motionEvent.getAction() == MotionEvent.ACTION_UP) {
                    String color1 = s.getString("menfon2","#000000");
                            if (S.isHEX(color1)){
                                view.setBackgroundColor(Color.parseColor(color1));
                            }else{
                                color1 = "#000000";
                                view.setBackgroundColor(Color.parseColor(color1));
                            }
                return false; 
                }
             }
 
                return true;
            }
        });
        return tv;
    }
Dantes2104
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 61
26.01.2016, 22:41  [ТС]     Собственный адаптер на основе ArrayAdapter #9
Во по этому я вешаю на tv
Ошибка
FATAL EXCEPTION: main
java.lang.NullPointerException


Добавлено через 28 минут
Научился обрабатывать keydown. Что-то вроде этого. Как я понял, чтобы он мог дальше выполнять методы надо возвращать false
Код
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
@Override
    public View getView(int position, View convertView, ViewGroup parent) {
        S.pomfv(parent, contextall);
        final View v = super.getView(position,convertView,parent);
v.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                s = PreferenceManager.getDefaultSharedPreferences(contextall);
                if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
                    String color1 = s.getString("menfon", "#FFFFFF");
                    if (S.isHEX(color1)) {
                        view.setBackgroundColor(Color.parseColor(color1));
                    } else {
                        color1 = "#FFFFFF";
                        view.setBackgroundColor(Color.parseColor(color1));
                    }
                }
                return false;
            }
        });
        TextView tv = (TextView) super.getView(position,v,lv);
        S.pom(tv, contextall);
        S.pomtv(tv, contextall);
        return tv;
    }


В логе пишет что keydown идёт на TextView, а keyup идёт на ListView. Осталось только мне сделать ListView, но я ни где не могу его добыть. К сведенью аргумент convertView пустой. Как это ни странно. Может есть идеи на счёт того чтобы можно было оперировать как-то с ListView?
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
26.01.2016, 23:03     Собственный адаптер на основе ArrayAdapter #10
Цитата Сообщение от Dantes2104 Посмотреть сообщение
Во по этому я вешаю на tv
FATAL EXCEPTION: main
java.lang.NullPointerException
Чё-то я в перерывах между готовкой ужина отвлекался на твои сообщения и вообще всё проглядел.
Напрочь.
Не доглядел, то что ты понаписывал.
Сорри, не со зла

Итак, имеем
super.getView(position,convertView,parent);
Эта штука возвращает ПОЛНОСТЬЮ вью соответствующее элементу-строке списка.
И да convertView поначалу может быть null, и это не странно.
Полностью, а не только TextView, который является одним из его составляющих элементов.
Приводить его к TextView - не комильфо.
Соответствующий TextView ищется через findViewById

Так что и последнее твоё
Java
1
TextView tv = (TextView) super.getView(position,v,lv);
не есть корректно.

Что такое
Java
1
2
3
4
S.pomfv(parent, contextall);
....
S.pom(tv, contextall);
S.pomtv(tv, contextall);
я не понимаю и оставляю на твоей совести.

Идем дальше.
Посмотри , ты в адаптере каждому элементу списка назначаешь НОВЫЙ слушатель касаний, который делает для всех элементов одно и то же и не зависит от конкретно выбранного элемента.
Лучше в классе адаптера ввести отдельного слушателя касаний и вешать его ОДНОГО на все элементы.

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
public class MyAdapter<T> extends ArrayAdapter<T> {
    SharedPreferences s;
    Context contextall;
    OnTouchListener myOnTouchListener;
 
    public MyAdapter(Context context, int resource, T[] objects) {
        super(context, resource, objects);
        contextall = context;
        s = PreferenceManager.getDefaultSharedPreferences(contextall);
        myOnTouchListener = new OnTouchListener(){
          @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
                    String color1 = s.getString("menfon", "#FFFFFF");
                    if (S.isHEX(color1)) {
                        view.setBackgroundColor(Color.parseColor(color1));
                    } else {
                        color1 = "#FFFFFF";
                        view.setBackgroundColor(Color.parseColor(color1));
                    }
                    return true;
                } else if (motionEvent.getAction() == MotionEvent.ACTION_UP) {
                    String color1 = s.getString("menfon2","#000000");
                            if (S.isHEX(color1)){
                                view.setBackgroundColor(Color.parseColor(color1));
                            }else{
                                color1 = "#000000";
                                view.setBackgroundColor(Color.parseColor(color1));
                            }
                    return false; 
                }
                 return false;
            }
        };   
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        View currentView = super.getView(position,convertView,parent);
        currentView.setOnTouchListener(myOnTouchListener);
        });
 
        return currentView;
    }
 }
Добавлено через 2 минуты
P.S. Лучше будет, если ты расскажешь чего ты вообще хочешь добиться.
Не анимации ли нажатия на пункт списка часом?
Dantes2104
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 61
27.01.2016, 18:26  [ТС]     Собственный адаптер на основе ArrayAdapter #11
Код
Java
1
2
3
4
S.pomfv(parent, contextall);
....
S.pom(tv, contextall);
S.pomtv(tv, contextall);

S.pomfv меняет цвет заднего фона у общего окна, то есть за кнопками.
S.pom меняет цвет фона у заданного элемента, то есть у TextView
S.pomtv меняет цвет текста у TextView.
S - это просто отдельный класс в котором я пишу разные функции.

Нет) Я просто хочу чтобы они работали как кнопки) Без анимаций.

Добавлено через 1 минуту
И функция getView возвращает по умолчанию TextView

Добавлено через 10 минут
Что-то не получается)
Лично я сделал отдельный класс у которого родительский класс ListActivity. Переопределил метод onListItemClick и везде где использовал ListActivity, поменял родительский класс на свой и при переопределении метода вызывал родительский метод. А в адаптере сделал только обработку на action down.
Адаптер
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
public class MyAdater<T> extends ArrayAdapter<T> {
    SharedPreferences s;
    Context contextall;
 
    public MyAdater(Context context, int resource, T[] objects) {
        super(context, resource, objects);
        contextall = context;
    }
 
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        S.pomfv(parent, contextall);
        View v = super.getView(position,convertView,parent);
 
        v.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                s = PreferenceManager.getDefaultSharedPreferences(contextall);
                if (motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
                    String color1 = s.getString("ment2", "#7FFF00");
                    if (S.isHEX(color1)) {
                        view.setBackgroundColor(Color.parseColor(color1));
                    } else {
                        color1 = "#7FFF00";
                        view.setBackgroundColor(Color.parseColor(color1));
                    }
                    return false;
                }
 
                return false;
            }
        });
        TextView tv = (TextView) super.getView(position,v,parent);
        S.pom(tv, contextall);
        S.pomtv(tv, contextall);
        return tv;
    }

Свой класс
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
public class MyListActivity extends ListActivity{
    View[] globview = new View[100];
    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        if (globview[position] == null) {
            globview[position] = v;
        }
        SharedPreferences s;
        s = PreferenceManager.getDefaultSharedPreferences(this);
        String color1 = s.getString("menf","#00BFFF");
        if (S.isHEX(color1)){
            v.setBackgroundColor(Color.parseColor(color1));
        }
        else{
            color1 ="#00BFFF";
            v.setBackgroundColor(Color.parseColor(color1));
        }
    }
 
    @Override
    protected void onPause() {
        SharedPreferences s;
        s = PreferenceManager.getDefaultSharedPreferences(this);
        String color1 = s.getString("menf","#00BFFF");
        for (int a = 0; a < 100;a++){
            if (globview[a] != null){
                if (S.isHEX(color1)){
                    globview[a].setBackgroundColor(Color.parseColor(color1));
                }
                else{
                    color1 ="#00BFFF";
                    globview[a].setBackgroundColor(Color.parseColor(color1));
                }
            }
        }
        super.onPause();
    }
}

Переопределил onPause потому что цвет немного зависал.
По моему так легче чем возится с плохим адаптером.
Теперь только когда нажимаю на элемент и выхожу за его пределы он не меняет цвет. Не подскажете, есть ли такой метод, чтобы при нажимании на экран, в не зависимости от View, обрабатывал событие? Тогда было бы то, что именно я хотел.
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
27.01.2016, 18:31     Собственный адаптер на основе ArrayAdapter #12
Как уже выяснили - з onTouch возвращай false.

В классе активити на ListView OnItemClickListener .

Для примера
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
public class MyActivity extends Activity {
    /**
     * Called when the activity is first created.
     */
    ListView lvListView;
    String[] saStringArray = {"One", "TWo", "Three", "Four", "Five"};
    MyAdapter listAdapter;
 
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_layout);
 
        lvListView = (ListView) findViewById(R.id.lvBarcodesListView);
 
        lvListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                Toast.makeText(getBaseContext(), "OnClick", Toast.LENGTH_LONG).show();
            }
        });
 
       
        listAdapter = new myAdapter(this, R.id.tvTextView, saStringArray);
 
 
        lvListView.setAdapter(listAdapter);
          
    }
}
И всё. После onTouch будет отрабатываться OnItemClick и выведется соответствущий Toast.

Добавлено через 2 минуты
А, ты пошёл через ListActivity.
Ну, пусть так.
Dantes2104
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 61
27.01.2016, 18:48  [ТС]     Собственный адаптер на основе ArrayAdapter #13
А вы не знаете метод, когда при нажатии на любое место на экране обрабатывалось событие?

Добавлено через 3 минуты
Метод класс Activity.
Pablito
2404 / 1849 / 579
Регистрация: 12.05.2014
Сообщений: 6,582
Завершенные тесты: 1
27.01.2016, 18:53     Собственный адаптер на основе ArrayAdapter #14
dispatchTouchEvent
Armagedo
208 / 208 / 60
Регистрация: 22.08.2014
Сообщений: 644
27.01.2016, 18:56     Собственный адаптер на основе ArrayAdapter #15
Цитата Сообщение от Dantes2104 Посмотреть сообщение
А вы не знаете метод, когда при нажатии на любое место на экране обрабатывалось событие?
public class MyListActivity extends ListActivity implements OnClickListener
и будет глобальный onClick(), а обработчиком-слушателем тогда будет сама ListActivity, которую - т.е. this - и будешь подставлять вместо OnClickListener
Dantes2104
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 61
27.01.2016, 19:13  [ТС]     Собственный адаптер на основе ArrayAdapter #16
Ладно. Сделал через dispatchTouchEvent.
Приводу полный код родительского класса активити.
Код
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
public class MyListActivity extends ListActivity{
 
 
    View[] globview = new View[20];
    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        for (int i = 0; i < 20;i++){
            if (l.getChildAt(i) != null){
                globview[i] = l.getChildAt(i);
            }
        }
        SharedPreferences s;
        s = PreferenceManager.getDefaultSharedPreferences(this);
        String color1 = s.getString("menf","#00BFFF");
        if (S.isHEX(color1)){
            v.setBackgroundColor(Color.parseColor(color1));
        }
        else{
            color1 ="#00BFFF";
            v.setBackgroundColor(Color.parseColor(color1));
        }
    }
 
 
    @Override
    public boolean dispatchTouchEvent(MotionEvent ev) {
        if (ev.getAction() == MotionEvent.ACTION_UP){
            super.dispatchTouchEvent(ev);
            SharedPreferences s;
            s = PreferenceManager.getDefaultSharedPreferences(this);
            String color1 = s.getString("menf","#00BFFF");
            ListView lv = (ListView) getCurrentFocus();
            for (int a = 0;a < lv.getCount();a++){
                    if (S.isHEX(color1)){
                        lv.getChildAt(a).setBackgroundColor(Color.parseColor(color1));
                    }
                    else{
                        color1 ="#00BFFF";
                        lv.getChildAt(a).setBackgroundColor(Color.parseColor(color1));
                    }
            }
            return true;
        }
        return super.dispatchTouchEvent(ev);
    }
}

Не по теме:


Как-то так. Спасибо всем за помощь)



Добавлено через 2 минуты

Не по теме:

По идее это подсвечивание нажатий кнопок в ArrayAdapter.

Pablito
27.01.2016, 19:13
  #17

Не по теме:

код ужасен, я бы все вытер и начал заново
и метод, который я дал, он не для этого

MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
27.01.2016, 19:20     Собственный адаптер на основе ArrayAdapter
Еще ссылки по теме:
Android Как правильно настроить ArrayAdapter?
Android ArrayAdapter вылет на clear и add
Выкидывает NullPointerException при заполнении данных через ArrayAdapter Android
Android Собственный статус-бар
Собственный ListView и его дети Android

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

Или воспользуйтесь поиском по форуму:
Dantes2104
0 / 0 / 0
Регистрация: 13.01.2015
Сообщений: 61
27.01.2016, 19:20  [ТС]     Собственный адаптер на основе ArrayAdapter #18

Не по теме:

Я только начинаю. Поэтому он и плох. Но мне очень интересно, как ты бы осуществил нажатие кнопок в ArrayAdapter?



Добавлено через 1 минуту

Не по теме:

И чтобы они ещё подсвечивались, и чтобы если пользователь нажал на кнопку, потом протянул пальцем на другой участок экрана, где нет кнопки, то она сменила цвет на изначальный.

Yandex
Объявления
27.01.2016, 19:20     Собственный адаптер на основе ArrayAdapter
Ответ Создать тему
Опции темы

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