Урок 51. SimpleAdapter, добавление и удаление записей

Обсуждение уроков
Озорная Свинья
Сообщения: 59
Зарегистрирован: 02 фев 2013, 00:03

Re: Урок 51. SimpleAdapter, добавление и удаление записей

Сообщение Озорная Свинья » 09 фев 2013, 18:54

Наверно конечно же есть другие способы)))

gad007
Сообщения: 10
Зарегистрирован: 06 фев 2013, 20:47

Re: Урок 51. SimpleAdapter, добавление и удаление записей

Сообщение gad007 » 09 фев 2013, 20:27

ну а как на примере урока 28 сделать передачу данных в другое активити чтоб выводимые данные были в виде списка? что то никак не могу понять

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 51. SimpleAdapter, добавление и удаление записей

Сообщение rezak90 » 09 фев 2013, 22:09

gad007 писал(а):ну а как на примере урока 28 сделать передачу данных в другое активити чтоб выводимые данные были в виде списка? что то никак не могу понять
в уроке все прекрасно описано, в интент кладете стринг с текстового поля и стартуете активити, во втором активити нужно считать данные и передать их адаптеру, адаптер в listview
R.id.team
Политика на форуме запрещена

Озорная Свинья
Сообщения: 59
Зарегистрирован: 02 фев 2013, 00:03

Re: Урок 51. SimpleAdapter, добавление и удаление записей

Сообщение Озорная Свинья » 09 фев 2013, 22:54

Мне кстати самому стал интересен этот вопрос, в уроке данные берутся в OnCreate, а если второй активити уже создан и просто не в фокусе, а в фокусе первый активити, как можно известить второй активити что для него есть данные, может я как то криво написал, сорри, только неделю интересуюсь андроидом)))

gad007
Сообщения: 10
Зарегистрирован: 06 фев 2013, 20:47

Re: Урок 51. SimpleAdapter, добавление и удаление записей

Сообщение gad007 » 09 фев 2013, 23:45

большое всем спасибо.

Аватара пользователя
rezak90
Сообщения: 3422
Зарегистрирован: 26 июн 2012, 13:22
Откуда: UA
Контактная информация:

Re: Урок 51. SimpleAdapter, добавление и удаление записей

Сообщение rezak90 » 09 фев 2013, 23:57

Озорная Свинья писал(а):Мне кстати самому стал интересен этот вопрос, в уроке данные берутся в OnCreate, а если второй активити уже создан и просто не в фокусе, а в фокусе первый активити, как можно известить второй активити что для него есть данные, может я как то криво написал, сорри, только неделю интересуюсь андроидом)))
изучите жизненный цикл активити, и слово "фокус" не корректно как то 8-)
Как бы отсутствует понимание архитектуры самого приложения, взаимодействия между собой активити.
R.id.team
Политика на форуме запрещена

Озорная Свинья
Сообщения: 59
Зарегистрирован: 02 фев 2013, 00:03

Re: Урок 51. SimpleAdapter, добавление и удаление записей

Сообщение Озорная Свинья » 10 фев 2013, 00:38

Не в фокусе имелось ввиду что активити не активно, тоесть в состоянии OnPause наверно, ну вообщем уже не интересно, ясно, читать и читать)))

xolostyak_by
Сообщения: 18
Зарегистрирован: 02 июл 2012, 03:16

Re: Урок 51. SimpleAdapter, добавление и удаление записей

Сообщение xolostyak_by » 05 май 2013, 00:37

Как сделать что бы при добавление записи предлагать пользователю ввести свое название?

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 51. SimpleAdapter, добавление и удаление записей

Сообщение Foenix » 05 май 2013, 18:23

Нужно использовать диалог, пользователь может вносить что угодно перед вставкой туда.
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Sintel
Сообщения: 4
Зарегистрирован: 09 май 2013, 02:57

Re: Урок 51. SimpleAdapter, добавление и удаление записей

Сообщение Sintel » 15 май 2013, 20:32

Как обратиться к определенному элементу определенной строки?
Например у меня в одной строке Textview, ImageView и ProgressBar. И нужно каждую секунду убавлять значение у некоторых PogressBar'ов.
Последний раз редактировалось Sintel 15 май 2013, 20:47, всего редактировалось 3 раза.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 51. SimpleAdapter, добавление и удаление записей

Сообщение Foenix » 15 май 2013, 20:39

это сморя какой у тебя адаптер.. в уроках же это есть..
Что такое РВ я не знаю :(
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Sintel
Сообщения: 4
Зарегистрирован: 09 май 2013, 02:57

Re: Урок 51. SimpleAdapter, добавление и удаление записей

Сообщение Sintel » 15 май 2013, 20:47

Simple Adapter + ViewBinder
Ну блин, видимо я слепой))) Не нашел
У меня получается в 1,2 и 5 строках ProgressBar невидим, а в 3 и 4 видим. Вот в 3 и 4 надо его убавлять

Sintel
Сообщения: 4
Зарегистрирован: 09 май 2013, 02:57

Re: Урок 51. SimpleAdapter, добавление и удаление записей

Сообщение Sintel » 15 май 2013, 20:49

Пробовал во вьюбиндере присвоить переменным ид этих видимых баров, но так и не понял как к этому id обратится из таймера. :)
Возможно я вообще куда-то не туда полез

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 51. SimpleAdapter, добавление и удаление записей

Сообщение Foenix » 15 май 2013, 21:02

ну я сделала так
Создала класс объектов, где и будут все твои реквизиты

Код: Выделить всё

public class FirmaBB {
	int id;
	String name;
	String addr;
	boolean box;
	int id_sfirma;
	Firma(int _id, String _name, String _addr, boolean _box,int _id_sfirma) {
		id = _id;
		name = _name;
		addr = _addr;
		id_sfirma = _id_sfirma;
		box = _box;
	}
	public int getId() {
		return id;
	}

	public void setId(int id) {
		this.id = id;
	}
и т.д.

и соответствующие методы доступа к ним
Соотвтественно адаптер будет не на той структуре, а на созданной
ArrayList<Firma> objectsFirmа;
Вместо симпла-адаптера взяла BaseAdapter
Соответственно в нем будут методы - достать нужный айди

Код: Выделить всё

	// кол-во элементов
	@Override
	public int getCount() {
		return objectsFirma.size();
	}

	// элемент по позиции
	@Override
	public Object getItem(int position) {
		return objectsFirma.get(position);
	}

	// id по позиции
	@Override
	public long getItemId(int position) {
		return position;
	}
и перебирать можно

Код: Выделить всё

	ArrayList<Firma> getMyList() {
		ArrayList<Firma> MyList = new ArrayList<Firma>();
		for (Firma p : ooFirma) {
			if (p.box)
				MyList.add(p);
		}
		return MyList;
	}
Код примерный, но разобраться можно..
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 51. SimpleAdapter, добавление и удаление записей

Сообщение Foenix » 16 май 2013, 01:19

в общем, тут все написано полностью. http://startandroid.ru/ru/uroki/vse-uro ... apter.html
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Z11
Сообщения: 9
Зарегистрирован: 05 июн 2013, 19:12

Re: Урок 51. SimpleAdapter, добавление и удаление записей

Сообщение Z11 » 30 июн 2013, 10:22

Как сделать чтобы в SimleAdapter четные позиции выводились одним цветом а нечетные другим?
т.е чтобы список выглядел как в уроке 41.

Аватара пользователя
Foenix
Сообщения: 4201
Зарегистрирован: 20 окт 2012, 12:01

Re: Урок 51. SimpleAdapter, добавление и удаление записей

Сообщение Foenix » 02 июл 2013, 18:11

для этого к списку нужно написать свой адаптер и переопределить метод в нем getView
R.id.team

NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198

Z11
Сообщения: 9
Зарегистрирован: 05 июн 2013, 19:12

Re: Урок 51. SimpleAdapter, добавление и удаление записей

Сообщение Z11 » 02 июл 2013, 18:18

Foenix писал(а):для этого к списку нужно написать свой адаптер и переопределить метод в нем getView
Как делать через свой(custom adapter) адаптер это понятно там есть в getView position
и по позиции(четная, нечетная ) можно назначить цвет
но хотелось сделать нечто подобное в SimpleAdapter,

Defender77
Сообщения: 3
Зарегистрирован: 24 сен 2013, 17:29

Re: Урок 51. SimpleAdapter, добавление и удаление записей

Сообщение Defender77 » 24 сен 2013, 17:49

Подскажите куда копать, не вызывается onItemClickListener. делаю как в примере: SimpleAdapter, ListView.
Причем onSelectItemListener отрабатывает нормально.
Пробовал прописать в ListItem.xml свойство onClick="onSelectListItemClick", новая процедура public void onSelectListItemClick(View v) нормально вызывается, но не могу там получить текущую позицию в списке.

Код: Выделить всё

        adapter = new MySimpleAdapter(this, data, R.layout.listitem, from, to);
        lvMain = (ListView) findViewById(R.id.lvMain);
        lvMain.setAdapter(adapter);

        lvMain.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view,
                                    int position, long id) {
                Log.d(LOG_TAG, "itemClick: position = " + position + ", id = "+ id);
            }
        });
ListItem.xml выглядит так:

Код: Выделить всё

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal" android:clickable="true" android:onClick="onSelectListItemClick">
    <ImageView
            android:id="@+id/ivImg"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/youtube">
    </ImageView>
    <LinearLayout
            android:id="@+id/linearLayout1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="vertical" android:onClick="onSelectListItemClick" android:longClickable="true">
        <TextView
                android:id="@+id/tvText"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="left"
                android:layout_marginRight="20dp"
                android:text="TextView">
        </TextView>
        <TextView
                android:id="@+id/tvTextId"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="right"
                android:layout_marginRight="20dp"
                android:text="TextView">
        </TextView>
    </LinearLayout>
    <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text=">>"
            android:id="@+id/buttonOpen" android:layout_gravity="center_horizontal|top"
            android:onClick="onGoButtonClick"/>
</LinearLayout>
Спасибо!

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Урок 51. SimpleAdapter, добавление и удаление записей

Сообщение KamiSempai » 24 сен 2013, 18:03

Скорее всего это из за кнопки.
Нужно запретить ей получать фокус. Это свойство android:focusable.

Однако, если прописать в разметке следующее:

Код: Выделить всё

<Button 
            android:layout_width="wrap_content" 
            android:layout_height="wrap_content" 
            android:text=">>" 
            android:id="@+id/buttonOpen" android:layout_gravity="center_horizontal|top" 
            android:onClick="onGoButtonClick"
            android:focusable="false"/> 
Работать все равно не будет. Поможет только если найти эту кнопку в адаптере, в методе getView, и сделать это программно button.setFocusable(false);
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Ответить