Google Android - это несложно

Добро пожаловать на форум сайта startandroid.ru
Текущее время: 18 окт 2018, 05:54

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 86 ]  На страницу Пред.  1, 2, 3, 4, 5
Автор Сообщение
 Заголовок сообщения: Re: Урок 48. Используем SimpleAdapter.
СообщениеДобавлено: 16 мар 2016, 09:49 

Зарегистрирован: 16 апр 2013, 14:04
Сообщений: 9
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Доброго дня.
Есть ViewPager с фрагментом из двух TextView. В каждой TextView будет больше 100 страниц, на каждой около 1 предложения, текст зависит от номера страницы. Прошу сильно не бить, если все это легко, но я немного запутался,и прошу пару советов:
1. Текст лучше закатать в файл string.xml? Или правильней отдельный файл закинуть?
2. Адаптер SimpleAdapter лучше использовать для вывода в две TextView или какой другой?
3. И самое главное : из адаптера данные куда передавать? в listView?

Заранее спасибо.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 48. Используем SimpleAdapter.
СообщениеДобавлено: 19 июл 2016, 18:41 

Зарегистрирован: 12 фев 2016, 10:15
Сообщений: 2
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
AABL писал(а):
Жаловался на "drawable". Ошибка "no resource found that matches the given name (at 'src' with value '@drawable/ic_launcher')" в файле item.xml. И в mainactivity.java схожая ошибка на дроубл.
Погуглил и заменил в двух местах слово "drawable" на "mipmap" и всё заработало.
Насколько я понял, пример или работает только на eclipse, или для более старой версии Android Studio.
А что такое mipmap? Есть ли разница от drawable?


http://developer.alexanderklimov.ru/and ... php#mipmap
https://programmium.wordpress.com/2014/ ... droid-4-3/

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

Хорошо бы обновить в уроках. Сам наткнулся на это в 54-м и, честно говоря, поначалу впал в ступор.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 48. Используем SimpleAdapter.
СообщениеДобавлено: 25 сен 2017, 11:58 

Зарегистрирован: 03 янв 2014, 14:28
Сообщений: 32
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Vlady писал(а):
А как понять на какие элементы пользователь проставил крыжики?


можно, только это наверное через пень колоду.
для чек бокса регистрируем событие onClick
в нем получаем View (сам чекбокс), читаем его текст и значение isChecked и сохраняем в массив.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 48. Используем SimpleAdapter.
СообщениеДобавлено: 25 сен 2017, 11:59 

Зарегистрирован: 03 янв 2014, 14:28
Сообщений: 32
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
А почему не срабатывает событие onItemClickListener()?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 48. Используем SimpleAdapter.
СообщениеДобавлено: 25 сен 2017, 13:59 

Зарегистрирован: 03 янв 2014, 14:28
Сообщений: 32
Благодарил (а): 1 раз.
Поблагодарили: 0 раз.
Алилуя...
нашел ,почему не срабатывает onItemClickListener()
если есть чек бокс нужно у него сбросить следующие свойства:
android:focusable="false"
android:focusableInTouchMode="false"

нашел инфу у Климова, часа два угробил пытаясь понять, почему не срабатывает клик
ну а дальше имея ссылку на сам адаптер, текущую позицию обработать клик дело техники

только я так и не понял, в чем прикол самого чекбокса в таком исполнении :)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 48. Используем SimpleAdapter.
СообщениеДобавлено: 09 окт 2018, 17:22 

Зарегистрирован: 08 окт 2018, 09:43
Сообщений: 2
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Изображение


Код: [ Загрузить ] [ Скрыть ]
  1. public class MainActivity extends AppCompatActivity { 
  2.  
  3.     // имена аттрибутов для мап 
  4.     final String ATTRIBUTE_NAME_TEXT = "text"; 
  5.     final String ATTRIBUTE_NAME_TEXT1 = "text1"; 
  6.     final String ATTRIBUTE_NAME_CHECKED = "checked"; 
  7.     final String ATTRIBUTE_NAME_IMAGE = "image"; 
  8.  
  9.     ListView listView; 
  10.  
  11.  
  12.     @Override 
  13.     protected void onCreate(Bundle savedInstanceState) { 
  14.         super.onCreate(savedInstanceState); 
  15.         setContentView(R.layout.activity_main); 
  16.  
  17.         // массивы данных 
  18.         String[] texts = {"sometext 1", "sometext 2", "sometext 3", "sometext 4", "sometext 5" }; 
  19.         boolean[] checked = {true, false, true, false, false}; 
  20.         int[] img = {R.drawable.ic_launcher_foreground, R.drawable.ic_grade_black_48dp, R.drawable.ic_group_work_black_48dp, R.drawable.ic_help_black_48dp, R.drawable.ic_launcher_background}; 
  21.  
  22.         String[] textChecked = {"Один", "Два", "Три", "Четыре", "Пять" }; 
  23.  
  24.         // упаковка данных в понятную для адаптера структуру 
  25.         ArrayList<Map<String, Object>> data = new ArrayList<Map<String, Object>> (texts.length); 
  26.         Map<String, Object> m; 
  27.  
  28.         for (int i = 0; i < texts.length; i++) { 
  29.             m = new HashMap<String, Object>(); 
  30.             m.put(ATTRIBUTE_NAME_TEXT, texts[i]); 
  31.             m.put(ATTRIBUTE_NAME_TEXT1, textChecked[i]); 
  32.             m.put(ATTRIBUTE_NAME_CHECKED, checked[i]); 
  33.             m.put(ATTRIBUTE_NAME_IMAGE, img[i]); 
  34.             data.add(m); 
  35.         } 
  36.  
  37.         // массив имен аттрибутов, из которых будут читаться данные 
  38.         String[] from = {ATTRIBUTE_NAME_TEXT, ATTRIBUTE_NAME_CHECKED, ATTRIBUTE_NAME_IMAGE, ATTRIBUTE_NAME_TEXT1}; 
  39.         // массив ID view компоненков, в которые будут вставляться данные 
  40.         int[] to = {R.id.tvText, R.id.cbChecked, R.id.ivImg, R.id.cbChecked}; 
  41.  
  42.         // создаем адаптер 
  43.         SimpleAdapter simpleAdapter = new SimpleAdapter(this, data, R.layout.item, from, to); 
  44.  
  45.         // определяем список и присваиваем ему адаптер 
  46.         listView = (ListView) findViewById(R.id.lvSimple); 
  47.         listView.setAdapter(simpleAdapter); 
  48.     } 


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 86 ]  На страницу Пред.  1, 2, 3, 4, 5

Часовой пояс: UTC + 3 часа


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB