Урок 42. Список - ListView
Re: Урок 42. Список - ListView
allzp, если хотите что-то уточнить, то пишите тут, а не в личку. Я не ответила не из вредности, а потому что вы нечетко поставили задачу - я не могу даже понять что вы хотите. Пишите кратко четко и пунктами. Пожалуйста. Я постараюсь помочь.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 42. Список - ListView
делать надо такvapsel писал(а):Интересует как (в смысле код) можно виделить один или несколько элементов списка. Например, цвет, горизонтальную центровку (гравити) или размер. Подскажите, пожалуйста, номер урока или ссылку на статью с понятными объяснениями и желательно кодом, так как еще новичок.
Спасибо
http://developer.android.com/design/pat ... ction.html
а код и все такое в этой же статье.
Вот ссылка оттуда
http://developer.android.com/guide/topi ... s.html#CAB
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 42. Список - ListView
просто тема топика не таFoenix писал(а): allzp, если хотите что-то уточнить, то пишите тут, а не в личку. Я не ответила не из вредности, а потому что вы нечетко поставили задачу - я не могу даже понять что вы хотите. Пишите кратко четко и пунктами. Пожалуйста. Я постараюсь помочь.
1.хочу реализоватьFoenix писал(а):Можно.allzp писал(а): спасибо но у меня немного другая структура.
из главного окна я перехожу на список (например марки автомобилей) где выбрав нужный подпункт (марку) я перехожу в новое Activity, которое,собственно, и необходимо заполнить (история марки и другая стат. информация ,список моделей и т.д ). то есть множество текстовых полей и таблиц.
можно ли создать БД с необходимой инфой чтоб Activity заполнялись в соответствии с id определенного поля/ячейки?
2.прошу направить на необходимые источники.было бы хорошо если с примерами
Re: Урок 42. Список - ListView
Почитайте тут уроки и уже что-то вырисуется. Вот вам источник с примерами.
Второй источник - теория баз данных, нормальные формы. Гугл.
Второй источник - теория баз данных, нормальные формы. Гугл.
R.id.team
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
NullPointerException - что делать???
viewtopic.php?f=33&t=3899&p=28952#p28952
Где моя ошибка?
viewtopic.php?f=60&t=3198
Re: Урок 42. Список - ListView
Всем доброго времени.
Создал всё как по уроку.
Мой xml (my_list_item.xml) - работает, а вот который системный (simple_list_item_1.xml) не хочет.
Не видит его и всё тут. И доступа к нему нет почему-то, хотя он есть физически (Android XML Editor cannot process this input.). Объясните, плз, что не так делаю. Строки 73-74. Спс.
[syntax=java]package com.example.p0421_listview;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.app.ActionBarActivity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
String[] names = { "Иван", "Марья", "Петр", "Антон", "Даша", "Борис",
"Костя", "Игорь", "Иван", "Марья", "Петр", "Антон", "Даша",
"Борис", "Костя", "Игорь", "Иван", "Марья", "Петр", "Антон",
"Даша", "Борис", "Костя", "Игорь", "Иван", "Марья", "Петр",
"Антон", "Даша", "Борис", "Костя", "Игорь" };
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container,
false);
// находим список
ListView lvMain = (ListView) rootView.findViewById(R.id.lvMain);
// создаем адаптер
// ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
// R.layout.my_list_item, names);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
getActivity(), R.layout.simple_list_item_1, names);
// присваиваем адаптор списку
lvMain.setAdapter(adapter);
return rootView;
}
}
}
[/syntax]
Создал всё как по уроку.
Мой xml (my_list_item.xml) - работает, а вот который системный (simple_list_item_1.xml) не хочет.
Не видит его и всё тут. И доступа к нему нет почему-то, хотя он есть физически (Android XML Editor cannot process this input.). Объясните, плз, что не так делаю. Строки 73-74. Спс.
[syntax=java]package com.example.p0421_listview;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.app.ActionBarActivity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment()).commit();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {
public PlaceholderFragment() {
}
String[] names = { "Иван", "Марья", "Петр", "Антон", "Даша", "Борис",
"Костя", "Игорь", "Иван", "Марья", "Петр", "Антон", "Даша",
"Борис", "Костя", "Игорь", "Иван", "Марья", "Петр", "Антон",
"Даша", "Борис", "Костя", "Игорь", "Иван", "Марья", "Петр",
"Антон", "Даша", "Борис", "Костя", "Игорь" };
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container,
false);
// находим список
ListView lvMain = (ListView) rootView.findViewById(R.id.lvMain);
// создаем адаптер
// ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
// R.layout.my_list_item, names);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
getActivity(), R.layout.simple_list_item_1, names);
// присваиваем адаптор списку
lvMain.setAdapter(adapter);
return rootView;
}
}
}
[/syntax]
Тут должна быть подпись.
Re: Урок 42. Список - ListView
android.R.layout.simple_list_item_1AlexVinn писал(а): Мой xml (my_list_item.xml) - работает, а вот который системный (simple_list_item_1.xml) не хочет.
Re: Урок 42. Список - ListView
Здравствуйте.
У меня Eclipse ругается на my_list_item и говорит, что "my_list_item cannot be resolved or is not a field"
вот тут:
Файл my_list_item.xml создан.
Подскажите, в чём проблема?
Спасибо.
У меня Eclipse ругается на my_list_item и говорит, что "my_list_item cannot be resolved or is not a field"
вот тут:
Код: Выделить всё
// создаем адаптер
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.my_list_item, names);
Подскажите, в чём проблема?
Спасибо.
Re: Урок 42. Список - ListView
Нужно указывать
R.layout.my_list_item (а не android.R.layout.my_list_item)
R.layout.my_list_item (а не android.R.layout.my_list_item)
Re: Урок 42. Список - ListView
Подскажите как сделать чтобы в listview под основным текстом был маленький, как на прошлом уроке.
Re: Урок 42. Список - ListView
Парни может кто что подскажет:
У меня есть VerticalScroll он скролит imageView. Но я хочу ImageView повторно использовать.
Я попробовал использовать Gallery но она гадит сам ImageView + Делает большие отступы с лева, права и игнорирует padding and marging.
ListView позволяет скролить(Horizontal) горизонтально и использовать повторно View (convertView).
Есть похожий компонент, который принимает BaseAdapter для вертикального(Vertical) скрола ?
Пробовал ListView поворачивать, повернул, а вод жест скрола остался тот же.
У меня есть VerticalScroll он скролит imageView. Но я хочу ImageView повторно использовать.
Я попробовал использовать Gallery но она гадит сам ImageView + Делает большие отступы с лева, права и игнорирует padding and marging.
ListView позволяет скролить(Horizontal) горизонтально и использовать повторно View (convertView).
Есть похожий компонент, который принимает BaseAdapter для вертикального(Vertical) скрола ?
Пробовал ListView поворачивать, повернул, а вод жест скрола остался тот же.
Re: Урок 42. Список - ListView
И все-таки ListView скроллит вертикально - сверху вниз, тебе я понимаю нужен элемент который скроллит горизонтально - слева-направо?
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.
Re: Урок 42. Список - ListView
Да попутал стороны.anber писал(а):И все-таки ListView скроллит вертикально - сверху вниз, тебе я понимаю нужен элемент который скроллит горизонтально - слева-направо?
Re: Урок 42. Список - ListView
https://github.com/sephiroth74/Horizont ... leListViewSevenXP писал(а):Да попутал стороны.anber писал(а):И все-таки ListView скроллит вертикально - сверху вниз, тебе я понимаю нужен элемент который скроллит горизонтально - слева-направо?
Описание со SO:
on Jul 24, 2013 author (sephiroth74) released completely rewritten version based on code of android 4.2.2 ListView. I must say that it doesn't have all the errors which previous version had and works great!
Личные сообщения с просьбой ответить на форуме или написать программу я просто удаляю, если я в хорошем настроении. Если в плохом добавляю автора в черный список. По любым другим вопросам feel free to write to me.
Re: Урок 42. Список - ListView
У меня MainActivity не видит my_listItem.xml в чем может быть проблема?
Помогите пожалуйста а то у меня не получается
Код: Выделить всё
package com.example.p0421_simplelis;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends Activity {
String[] names = { "Иван", "Марья", "Петр", "Антон", "Даша", "Борис",
"Костя", "Игорь", "Анна", "Денис", "Андрей" };
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Находим список
ListView lvMain = (ListView) findViewById(R.id.lvMain);
//Создаем адаптер
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.my_list_item, names);
//Присваиваем адаптер списку
lvMain.setAdapter(adapter);
}
}
Код: Выделить всё
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/textView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:padding="5dp"
android:text="TextView"
android:textColor="#00ff00"
android:textSize="24sp" >
</TextView>
Re: Урок 42. Список - ListView
Разобрался, надо было не android.R.layout.my_list_item а R.layout.my_list_item всем спасибо
Re: Урок 42. Список - ListView
Ребят где ошибка? По отдельноссти код работает. Я считываю все контакты в тел. книге и хочу кинуть их списком отдельно через прогу. Но не получается
Код: Выделить всё
package ua.example.eve;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.ContentResolver;
import android.database.Cursor;
import android.net.Uri;
import android.os.Bundle;
import android.provider.ContactsContract;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
public class test extends Activity {
public TextView outputText;
List<String> listItems = new ArrayList<String>();
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
outputText = (TextView) findViewById(R.id.textView1);
listItems=fetchContacts();
final CharSequence[] names = listItems.toArray(new CharSequence[listItems.size()]);
// находим список
ListView lvMain = (ListView) findViewById(R.id.lvMain);
// создаем адаптер
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, names);
// присваиваем адаптер списку
lvMain.setAdapter(adapter);
}
public List<String> fetchContacts() {
String phoneNumber = null;
String email = null;
Uri CONTENT_URI = ContactsContract.Contacts.CONTENT_URI;
String _ID = ContactsContract.Contacts._ID;
String DISPLAY_NAME = ContactsContract.Contacts.DISPLAY_NAME;
String HAS_PHONE_NUMBER = ContactsContract.Contacts.HAS_PHONE_NUMBER;
Uri PhoneCONTENT_URI = ContactsContract.CommonDataKinds.Phone.CONTENT_URI;
String Phone_CONTACT_ID = ContactsContract.CommonDataKinds.Phone.CONTACT_ID;
String NUMBER = ContactsContract.CommonDataKinds.Phone.NUMBER;
Uri EmailCONTENT_URI = ContactsContract.CommonDataKinds.Email.CONTENT_URI;
String EmailCONTACT_ID = ContactsContract.CommonDataKinds.Email.CONTACT_ID;
String DATA = ContactsContract.CommonDataKinds.Email.DATA;
StringBuffer output = new StringBuffer();
ContentResolver contentResolver = getContentResolver();
Cursor cursor = contentResolver.query(CONTENT_URI, null,null, null, null);
// Loop for every contact in the phone
if (cursor.getCount() > 0) {
while (cursor.moveToNext()) {
String contact_id = cursor.getString(cursor.getColumnIndex( _ID ));
String name = cursor.getString(cursor.getColumnIndex( DISPLAY_NAME ));
int hasPhoneNumber = Integer.parseInt(cursor.getString(cursor.getColumnIndex( HAS_PHONE_NUMBER )));
if (hasPhoneNumber > 0) {
output.append("\n First Name:" + name);
// Query and loop for every phone number of the contact
Cursor phoneCursor = contentResolver.query(PhoneCONTENT_URI, null, Phone_CONTACT_ID + " = ?", new String[] { contact_id }, null);
while (phoneCursor.moveToNext()) {
phoneNumber = phoneCursor.getString(phoneCursor.getColumnIndex(NUMBER));
output.append("\n Phone number:" + phoneNumber);
}
phoneCursor.close();
// Query and loop for every email of the contact
Cursor emailCursor = contentResolver.query(EmailCONTENT_URI, null, EmailCONTACT_ID+ " = ?", new String[] { contact_id }, null);
while (emailCursor.moveToNext()) {
email = emailCursor.getString(emailCursor.getColumnIndex(DATA));
output.append("\nEmail:" + email);
}
emailCursor.close();
}
listItems.add(name+"-"+phoneNumber);
}
}
return listItems;
}
}
Re: Урок 42. Список - ListView
Добрый день. Мне очень понравилось Ваш урок 42. Я целый месяц искала в нете, но в результате ничего не нашла. Так как я новенькая. Мне нужна Ваш помощь, я сделала расписание автобуса рис.1. Но мне нужен такой же рисунок 2. Как делать? Например, время 10:52, а автобус придет 11:00 сделать синим, а наверху прошедшим время прозрачным цветом как рисунок 2. Помоги мне, пожалуйста!!!
Код: Выделить всё
public class DayFragment extends ListFragment {
String time[] = { "06:30","06:40","06:48","06:56","07:04","07:12","07:20","07:28","07:36", "07:44",
"07:52", "08:00", "08:08", "08:16", "08:22", "08:31", "08:40", "08:50", "09:00", "09:10", "09:20",
"09:30", "09:40", "09:50", "10:00", "10:10", "10:20", "10:30", "10:40", "10:50", "11:00", "11:10",
"11:20", "11:30", "11:40", "11:50", "12:00", "12:10", "12:20", "12:30", "12:40", "12:50", "13:00",
"13:10", "13:20", "13:30", "13:40", "13:50", "14:00", "14:10", "14:20", "14:30", "14:40", "14:50",
"15:00", "15:10", "15:20", "15:30", "15:40", "15:50", "16:00", "16:10", "16:20", "16:30", "16:40",
"16:50", "17:00", "17:08", "17:16", "17:24", "17:32", "17:40", "17:48", "17:56", "18:04", "18:12",
"18:20", "18:28", "18:36", "18:44", "18:51", "19:00", "19:10", "19:20", "19:30", "19:39", "19:50",
"20:03", "20:16", "20:30", "20:43", "20:56", "21:10", "21:23", "21:36", "21:50", "22:03", "22:16",
"22:30", "22:43", "22:56", "23:10", "23:23", "23:36"};
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.dayfragment, container, false);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(getActivity(),
android.R.layout.simple_list_item_activated_1, time);
setListAdapter(adapter);
return view;
}
}
- Вложения
-
- Untitled-1.jpg (43.25 КБ) 11170 просмотров
- Mikhail_dev
- Сообщения: 2386
- Зарегистрирован: 09 янв 2012, 14:45
- Откуда: Самара
Re: Урок 42. Список - ListView
Почитайте про адаптеры (урок 47), особое внимание уделите для baseAdapter. Потом почитайте урок 54 по кастомизации адаптера.
Вам нужен в адаптере метод getView где вы будете смотреть текущее время и в зависимости от времени делать манипуляции с текстом.
Вам нужен в адаптере метод getView где вы будете смотреть текущее время и в зависимости от времени делать манипуляции с текстом.
Re: Урок 42. Список - ListView
Добрый день! Я прочитала урок 47 и 54, сделала кастомизации адаптера . Спасибо за Ваш совет.Mikhail_dev писал(а):Почитайте про адаптеры (урок 47), особое внимание уделите для baseAdapter. Потом почитайте урок 54 по кастомизации адаптера.
Вам нужен в адаптере метод getView где вы будете смотреть текущее время и в зависимости от времени делать манипуляции с текстом.
У меня есть еще вопросы. Как сделать ближайшие время, синий цветом и прошедшие время сделать прозрачным цветом как на рисунке 2.
Последний раз редактировалось Persik 25 сен 2014, 05:49, всего редактировалось 1 раз.
Re: Урок 42. Список - ListView
Ответили же вам:Persik писал(а):У меня есть еще вопросы. Как сделать ближайшие время, синий цветом и прошедшие время сделать прозрачным цветом как на рисунке 2.Mikhail_dev писал(а):Вам нужен в адаптере метод getView где вы будете смотреть текущее время и в зависимости от времени делать манипуляции с текстом.
1) Получить текущее время
2) Сравнить текущее время с временем из вашего списка
3) В зависимости от того выполнилось условие или нет поменять цвет текста
Все это можно-нужно сделать в getView адаптера. В каком пункте затруднение?