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

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

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




Начать новую тему Ответить на тему  [ Сообщений: 181 ]  На страницу Пред.  1 ... 5, 6, 7, 8, 9, 10  След.
Автор Сообщение
 Заголовок сообщения: Re: Урок 45. Список-дерево ExpandableListView
СообщениеДобавлено: 21 май 2014, 15:19 

Зарегистрирован: 21 май 2014, 15:16
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
"А вообще вы можете создать для элементов свой layout, например, с тремя TextView. И к каждому элементу списка (Map) добавить еще по два атрибута: цена и цвет. Далее указываете ваш layout в конструкторе, формируете соответственно массивы childFrom и childTo чтобы сопоставить атрибуты и TextView, и получится, что каждый элемент группы содержит более подробную информацию о смартфоне."
Скиньте пожалуйста такой полный код урока


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 45. Список-дерево ExpandableListView
СообщениеДобавлено: 31 июл 2014, 12:59 

Зарегистрирован: 29 июл 2014, 23:03
Сообщений: 1
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Ребят Help!!!! Взялся за создание это листа и появилась очень много вопросов.Вообщем есть главное активити (на ней и должны будут происходить изменение) и есть Drawer menu тоже в этой активити , как раз с этим ExpandableListView и checkbox для каждой группы и child.Мне нужно что бы получилось , что при нажатии checkbox для одного или нескольких элементов какое либо действие отображалось в главной активити или изменяло его
Код: [ Загрузить ] [ Скрыть ]
  1. package cosm.example.test; 
  2.  
  3. import java.util.ArrayList; 
  4. import java.util.HashMap; 
  5. import java.util.List; 
  6.  
  7.  
  8.  
  9. import android.app.Activity; 
  10. import android.app.ActionBar; 
  11. import android.app.Fragment; 
  12. import android.content.Intent; 
  13. import android.content.res.Configuration; 
  14. import android.os.Bundle; 
  15. import android.support.v4.app.ActionBarDrawerToggle; 
  16. import android.support.v4.widget.DrawerLayout; 
  17. import android.util.Log; 
  18. import android.view.LayoutInflater; 
  19. import android.view.Menu; 
  20. import android.view.MenuItem; 
  21. import android.view.View; 
  22. import android.view.ViewGroup; 
  23. import android.widget.ExpandableListView; 
  24. import android.widget.ExpandableListView.OnChildClickListener; 
  25. import android.widget.ExpandableListView.OnGroupClickListener; 
  26. import android.widget.ExpandableListView.OnGroupCollapseListener; 
  27. import android.widget.ExpandableListView.OnGroupExpandListener; 
  28. import android.os.Build; 
  29.  
  30. public class MainActivity extends Activity { 
  31.     // nav drawer title 
  32.     private CharSequence mDrawerTitle; 
  33.     private CharSequence mTitle; 
  34.  
  35.     private DrawerLayout mDrawerLayout; 
  36.     private ExpandableListView mDrawerList; 
  37.     private ActionBarDrawerToggle mDrawerToggle; 
  38.     private MyExpandableAdapter mAdapter; 
  39.  
  40.     private List<String> mListForGroup; 
  41.     private HashMap<String, List<String>> mMapForChild; 
  42.     @Override 
  43.     protected void onCreate(Bundle savedInstanceState) { 
  44.         super.onCreate(savedInstanceState); 
  45.         setContentView(R.layout.activity_main); 
  46.  
  47. mTitle = mDrawerTitle = getTitle(); 
  48.  
  49.          
  50.  
  51.         mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout); 
  52.         mDrawerList = (ExpandableListView) findViewById(R.id.myexpandablelistview); 
  53.  
  54.  
  55.  
  56.         initData(); 
  57.  
  58.         mAdapter = new MyExpandableAdapter(this, mListForGroup, mMapForChild); 
  59.  
  60.         mDrawerList.setAdapter(mAdapter); 
  61.  
  62.         mDrawerList.setOnChildClickListener(myOnChildClickListener); 
  63.         mDrawerList.setOnGroupClickListener(myOnGroupClickListener); 
  64.         mDrawerList 
  65.                 .setOnGroupCollapseListener(myOnGroupCollapseListener); 
  66.         mDrawerList.setOnGroupExpandListener(myOnGroupExpandListener); 
  67.      
  68.  
  69.          
  70.  
  71.  
  72.  
  73.         // enabling action bar app icon and behaving it as toggle button 
  74.         getActionBar().setDisplayHomeAsUpEnabled(true); 
  75.         getActionBar().setHomeButtonEnabled(true); 
  76.  
  77.         mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, 
  78.                 R.drawable.ic_drawer, R.string.app_name, R.string.app_name) { 
  79.             public void onDrawerClosed(View view) { 
  80.                 getActionBar().setTitle(mTitle); 
  81.                 // calling onPrepareOptionsMenu() to show action bar icons 
  82.                 invalidateOptionsMenu(); 
  83.             } 
  84.  
  85.             public void onDrawerOpened(View drawerView) { 
  86.                 getActionBar().setTitle(mDrawerTitle); 
  87.                 // calling onPrepareOptionsMenu() to hide action bar icons 
  88.                 invalidateOptionsMenu(); 
  89.             } 
  90.         }; 
  91.  
  92.     } 
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.     private void initData() { 
  107.         // TODO Auto-generated method stub 
  108.         mListForGroup = new ArrayList<String>(); 
  109.         mMapForChild = new HashMap<String, List<String>>(); 
  110.          
  111.         mListForGroup.add("Цвета"); 
  112.         mListForGroup.add("Картинки"); 
  113.  
  114.  
  115.         List<String> listGroupA = new ArrayList<String>(); 
  116.         listGroupA.add("1"); 
  117.         listGroupA.add("2"); 
  118.         listGroupA.add("3"); 
  119.  
  120.  
  121.         List<String> listGroupB = new ArrayList<String>(); 
  122.         listGroupB.add("1"); 
  123.         listGroupB.add("2"); 
  124.         listGroupB.add("3"); 
  125.  
  126.  
  127.  
  128.  
  129.         mMapForChild.put(mListForGroup.get(0), listGroupA); 
  130.         mMapForChild.put(mListForGroup.get(1), listGroupB); 
  131.  
  132.     } 
  133.     OnChildClickListener myOnChildClickListener = new OnChildClickListener() { 
  134.  
  135.         @Override 
  136.         public boolean onChildClick(ExpandableListView parent, View v, 
  137.                 int groupPosition, int childPosition, long id) { 
  138.          
  139.  
  140.             return true; 
  141.         } 
  142.  
  143.      
  144.         }; 
  145.  
  146.  
  147.     OnGroupClickListener myOnGroupClickListener = new OnGroupClickListener() { 
  148.  
  149.         @Override 
  150.         public boolean onGroupClick(ExpandableListView parent, View v, 
  151.                 int groupPosition, long id) { 
  152.          
  153.          
  154.             return false; 
  155.         } 
  156.     }; 
  157.  
  158.     OnGroupCollapseListener myOnGroupCollapseListener = new OnGroupCollapseListener() { 
  159.  
  160.         @Override 
  161.         public void onGroupCollapse(int groupPosition) { 
  162.             // group collapse at groupPosition 
  163.         } 
  164.     }; 
  165.  
  166.     OnGroupExpandListener myOnGroupExpandListener = new OnGroupExpandListener() { 
  167.  
  168.         @Override 
  169.         public void onGroupExpand(int groupPosition) { 
  170.             // group expand at groupPosition 
  171.         } 
  172.     }; 
  173.  
  174.  
  175.     @Override 
  176.     public void setTitle(CharSequence title) { 
  177.         mTitle = title; 
  178.         getActionBar().setTitle(mTitle); 
  179.     } 
  180.  
  181.     @Override 
  182.     public boolean onCreateOptionsMenu(Menu menu) { 
  183.         getMenuInflater().inflate(R.menu.main, menu); 
  184.  
  185.         return true; 
  186.     } 
  187.  
  188.     @Override 
  189.     public boolean onOptionsItemSelected(MenuItem item) { 
  190.         // toggle nav drawer on selecting action bar app icon/title 
  191.         if (mDrawerToggle.onOptionsItemSelected(item)) { 
  192.             return true; 
  193.         } 
  194.         // Handle action bar actions click 
  195.         switch (item.getItemId()) { 
  196.         case R.id.action_settings: 
  197.  
  198.             return true; 
  199.         default: 
  200.             return super.onOptionsItemSelected(item); 
  201.         } 
  202.     } 
  203.  
  204.     /*** 
  205.      * Called when invalidateOptionsMenu() is triggered 
  206.      */ 
  207.     @Override 
  208.     public boolean onPrepareOptionsMenu(Menu menu) { 
  209.         // if nav drawer is opened, hide the action items 
  210.         boolean drawerOpen = mDrawerLayout.isDrawerOpen(mDrawerList); 
  211.         menu.findItem(R.id.action_settings).setVisible(!drawerOpen); 
  212.         return super.onPrepareOptionsMenu(menu); 
  213.     } 
  214.  
  215.     /** 
  216.      * When using the ActionBarDrawerToggle, you must call it during 
  217.      * onPostCreate() and onConfigurationChanged()... 
  218.      */ 
  219.  
  220.     @Override 
  221.     protected void onPostCreate(Bundle savedInstanceState) { 
  222.         super.onPostCreate(savedInstanceState); 
  223.         // Sync the toggle state after onRestoreInstanceState has occurred. 
  224.         mDrawerToggle.syncState(); 
  225.     } 
  226.  
  227.     @Override 
  228.     public void onConfigurationChanged(Configuration newConfig) { 
  229.         super.onConfigurationChanged(newConfig); 
  230.         // Pass any configuration change to the drawer toggles 
  231.         mDrawerToggle.onConfigurationChanged(newConfig); 
  232.     } 
  233.     } 
  234.  
  235.  

адаптер
Код: [ Загрузить ] [ Скрыть ]
  1. package cosm.example.test; 
  2.  
  3. import java.util.HashMap; 
  4. import java.util.List; 
  5.  
  6.  
  7. import android.app.Activity; 
  8. import android.content.Context; 
  9. import android.util.Log; 
  10. import android.view.LayoutInflater; 
  11. import android.view.View; 
  12. import android.view.ViewGroup; 
  13. import android.widget.BaseExpandableListAdapter; 
  14. import android.widget.CheckBox; 
  15. import android.widget.CompoundButton; 
  16. import android.widget.TextView; 
  17. import android.widget.CompoundButton.OnCheckedChangeListener; 
  18.  
  19. public class MyExpandableAdapter extends BaseExpandableListAdapter { 
  20.     private static final String TAG = "myLogs"; 
  21.  
  22.     private Context context; 
  23.     private List<String> listGroup; 
  24.     private HashMap<String, List<String>> listChild; 
  25.  
  26.     public MyExpandableAdapter(Context c, List<String> lg, 
  27.             HashMap<String, List<String>> lc) { 
  28.         context = c; 
  29.         listGroup = lg; 
  30.         listChild = lc; 
  31.     } 
  32.  
  33.     @Override 
  34.     public Object getChild(int groupPosition, int childPosition) { 
  35.         return listChild.get(listGroup.get(groupPosition)).get(childPosition); 
  36.     } 
  37.  
  38.     @Override 
  39.     public long getChildId(int groupPosition, int childPosition) { 
  40.         return childPosition; 
  41.     } 
  42.  
  43.     @Override 
  44.     public View getChildView(int groupPosition, int childPosition, 
  45.             boolean isLastChild, View convertView, ViewGroup parent) { 
  46.  
  47.         if (convertView == null) { 
  48.             LayoutInflater infalInflater = (LayoutInflater) context 
  49.                     .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
  50.             convertView = infalInflater.inflate(R.layout.exp_list_child_item, 
  51.                     null); 
  52.         } 
  53.  
  54.         TextView textViewItem = (TextView) convertView.findViewById(R.id.item); 
  55.  
  56.         String text = (String) getChild(groupPosition, childPosition); 
  57.  
  58.         textViewItem.setText(text); 
  59.         return convertView; 
  60.     } 
  61.  
  62.     @Override 
  63.     public int getChildrenCount(int groupPosition) { 
  64.         return listChild.get(listGroup.get(groupPosition)).size(); 
  65.     } 
  66.  
  67.     @Override 
  68.     public Object getGroup(int groupPosition) { 
  69.         return listGroup.get(groupPosition); 
  70.     } 
  71.  
  72.     @Override 
  73.     public int getGroupCount() { 
  74.         return listGroup.size(); 
  75.     } 
  76.  
  77.     @Override 
  78.     public long getGroupId(int groupPosition) { 
  79.         return groupPosition; 
  80.     } 
  81.  
  82.     @Override 
  83.     public View getGroupView(final int groupPosition, boolean isExpanded, 
  84.             View convertView, ViewGroup parent) { 
  85.  
  86.         if (convertView == null) { 
  87.             LayoutInflater infalInflater = (LayoutInflater) context 
  88.                     .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
  89.             convertView = infalInflater.inflate(R.layout.exp_list_group_item, 
  90.                     null); 
  91.         } 
  92.  
  93.         String textGroup = (String) getGroup(groupPosition); 
  94.  
  95.         // get application resource/drawable not in Activity class, using 
  96.         // context 
  97.  
  98.         final CheckBox chek = (CheckBox) convertView 
  99.                 .findViewById(R.id.checkBox1); 
  100.         chek.setOnCheckedChangeListener(new OnCheckedChangeListener() { 
  101.  
  102.             @Override 
  103.             public void onCheckedChanged(CompoundButton buttonView, 
  104.                     boolean isChecked) { 
  105.                 // TODO Auto-generated method stub 
  106.                 Log.d(TAG, "cheked  " + isChecked + groupPosition); 
  107.                 chekedgrop(isChecked, groupPosition); 
  108.             } 
  109.  
  110.             private void chekedgrop(boolean isChecked, int groupPosition) { 
  111.                 // TODO Auto-generated method stub 
  112.                 Activity activity = null; 
  113.                 switch (groupPosition) { 
  114.                 case 0: 
  115.                     if (chek.isChecked()) { 
  116.          
  117.                         Log.d(TAG, "adapter  girne " + isChecked + groupPosition); 
  118.  
  119.                  
  120.                      
  121.                  
  122.                     } else { 
  123.  
  124.                     } 
  125.  
  126.                     break; 
  127.                 case 1: 
  128.  
  129.                     Log.d(TAG, "adapter  fa " + isChecked + groupPosition); 
  130.                     break; 
  131.                 case 2: 
  132.  
  133.                     Log.d(TAG, "adapter  n " + isChecked + groupPosition); 
  134.                     break; 
  135.                 case 3: 
  136.  
  137.                     Log.d(TAG, "adapter   " + isChecked + groupPosition); 
  138.                     break; 
  139.  
  140.                 default: 
  141.                     break; 
  142.                 } 
  143.             } 
  144.  
  145.         }); 
  146.         TextView textViewGroup = (TextView) convertView 
  147.                 .findViewById(R.id.group); 
  148.         textViewGroup.setText(textGroup); 
  149.  
  150.         return convertView; 
  151.     } 
  152.  
  153.  
  154.  
  155.     @Override 
  156.     public boolean hasStableIds() { 
  157.         return false; 
  158.     } 
  159.  
  160.     @Override 
  161.     public boolean isChildSelectable(int groupPosition, int childPosition) { 
  162.         return true; 
  163.     } 

сам layout главной активити
Код: [ Загрузить ] [ Скрыть ]
  1. <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  2.     xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads" 
  3.     android:id="@+id/drawer_layout" 
  4.     android:layout_width="match_parent" 
  5.     android:layout_height="match_parent" > 
  6.  
  7.     <!-- The main content view --> 
  8.  
  9.     <FrameLayout 
  10.         android:id="@+id/frame_container" 
  11.         android:layout_width="match_parent" 
  12.         android:layout_height="match_parent" /> 
  13.  
  14.     <fragment 
  15.         xmlns:android="http://schemas.android.com/apk/res/android" 
  16.         android:id="@+id/map" 
  17.         android:name="com.google.android.gms.maps.MapFragment" 
  18.         android:layout_width="match_parent" 
  19.         android:layout_height="match_parent" /> 
  20.     <!-- The navigation drawer list --> 
  21.  
  22.     <ExpandableListView 
  23.         android:id="@+id/myexpandablelistview" 
  24.         android:layout_width="240dp" 
  25.         android:layout_height="match_parent" 
  26.         android:layout_gravity="start" 
  27.         android:background="@drawable/list_background" 
  28.         android:choiceMode="multipleChoice" 
  29.         android:divider="@android:color/transparent" 
  30.         android:dividerHeight="0dp" /> 
  31.  
  32. </android.support.v4.widget.DrawerLayout> 


Желательно хотелось бы развёрнутый ответ, а то я много ещё чего не понимаю :D
БУДУ ВСЕМ ПРИЗНАТЕЛЕН ЗА ПОМОЩЬ


Вложения:
device-2014-07-31-124615.png
device-2014-07-31-124615.png [ 46.31 KiB | Просмотров: 5564 ]
device-2014-07-31-124607.png
device-2014-07-31-124607.png [ 43.36 KiB | Просмотров: 5564 ]
device-2014-07-31-124629.png
device-2014-07-31-124629.png [ 51.41 KiB | Просмотров: 5564 ]
Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 45. Список-дерево ExpandableListView
СообщениеДобавлено: 02 сен 2014, 17:59 

Зарегистрирован: 02 сен 2014, 17:57
Сообщений: 7
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Ребят, подскажите почему при тестировании другой странички у меня вылетает с ошибки (страничка с хеллоу вролд ), если удаляю этот код - тогда всё нормально.
public class MainActivity extends Activity {
наверно нужно менять активити для каждой странички?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 45. Список-дерево ExpandableListView
СообщениеДобавлено: 03 сен 2014, 07:37 
Аватар пользователя

Зарегистрирован: 18 окт 2012, 11:17
Сообщений: 1098
Откуда: г. Красноярск
Благодарил (а): 26 раз.
Поблагодарили: 279 раз.
LazeR писал(а):
Ребят, подскажите почему при тестировании другой странички у меня вылетает с ошибки (страничка с хеллоу вролд ), если удаляю этот код - тогда всё нормально.
public class MainActivity extends Activity {
наверно нужно менять активити для каждой странички?

"страничка"?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 45. Список-дерево ExpandableListView
СообщениеДобавлено: 03 сен 2014, 09:41 

Зарегистрирован: 02 сен 2014, 17:57
Сообщений: 7
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
ну layout


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 45. Список-дерево ExpandableListView
СообщениеДобавлено: 03 сен 2014, 10:54 
Аватар пользователя

Зарегистрирован: 18 окт 2012, 11:17
Сообщений: 1098
Откуда: г. Красноярск
Благодарил (а): 26 раз.
Поблагодарили: 279 раз.
Ну тогда разъясните:
1) что значит "при тестировании другой странички".
2) "вылетает с ошибки" - у любой ошибки есть имя и текст который написан в логах (красными буквами), если сами не можете в нем разобраться, то хотя бы следует прикрепить его к сообщению.
3) "если удаляю этот код" - вы имеете ввиду тот самый "этот код" или какой-то другой?
4) как это относится к этому уроку?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 45. Список-дерево ExpandableListView
СообщениеДобавлено: 15 сен 2014, 19:41 
Аватар пользователя

Зарегистрирован: 15 сен 2014, 04:31
Сообщений: 2
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
как заполнить Expandable ListView при помощи строкового массива ?
Имеется ввиду из StringArray
Изображение

То-есть другими словами , как сократить код

Код: [ Загрузить ] [ Скрыть ]
Using Java Syntax Highlighting
  1. package com.example.hsidesheparsha;
  2.  
  3. import java.util.ArrayList;
  4. import java.util.HashMap;
  5. import java.util.List;
  6.  
  7. import com.example.adapter.ExpandableListAdapter;
  8.  
  9. import android.app.Activity;
  10. import android.content.res.Resources;
  11. import android.os.Bundle;
  12. import android.widget.ExpandableListView;
  13.  
  14. public class ListMenuTO extends Activity {
  15.        
  16.         ExpandableListAdapter listAdapter;
  17.         ExpandableListView expListView;
  18.         List<String> listDataHeader;
  19.         HashMap<String, List<String>> listDataChild;
  20.  
  21.         @Override
  22.         protected void onCreate(Bundle savedInstanceState) {
  23.                 super.onCreate(savedInstanceState);
  24.                 setContentView(R.layout.list_tor);
  25.                
  26.                 Resources res = getResources();
  27.                 String[] names = res.getStringArray(R.array.parshiet);
  28.                
  29.                 // get the listview
  30.                 expListView = (ExpandableListView) findViewById(R.id.lv_to);
  31.                
  32.                 // preparing list data
  33.                 prepareListData();
  34.                  
  35.         listAdapter = new ExpandableListAdapter(this, listDataHeader, listDataChild);
  36.  
  37.         // setting list adapter
  38.         expListView.setAdapter(listAdapter);
  39.  
  40.                
  41.         }
  42.  
  43.         private void prepareListData() {
  44.                                
  45.         listDataHeader = new ArrayList<String>();
  46.         listDataChild = new HashMap<String, List<String>>();
  47.        
  48. //              // Adding child data
  49.         listDataHeader.add("בראשית");
  50.         listDataHeader.add("נח");
  51.         listDataHeader.add("לך לך");
  52.         listDataHeader.add("וירא");
  53.         listDataHeader.add("חיי שרה");
  54.         listDataHeader.add("תולדות");
  55.         listDataHeader.add("ויצא");
  56.         listDataHeader.add("וישלח");
  57.         listDataHeader.add("וישב");
  58.         listDataHeader.add("מקץ");
  59.         listDataHeader.add("ויגש");
  60.         listDataHeader.add("ויחי");
  61.         listDataHeader.add("וארא");
  62.         listDataHeader.add("בא");
  63.         listDataHeader.add("בשלח");
  64.         listDataHeader.add("יתרו");
  65.         listDataHeader.add("משפטים");
  66.         listDataHeader.add("תרומה");
  67.         listDataHeader.add("תצוה");
  68.         listDataHeader.add("פרשת זכור");
  69.         listDataHeader.add("כי תשא");
  70.         listDataHeader.add("ויקהל");
  71.         listDataHeader.add("מגלת אסתר");
  72.         listDataHeader.add("הוספות ויחי");
  73.         listDataHeader.add("הוספות שמות");
  74.         listDataHeader.add("הוספות יתרו");
  75.         listDataHeader.add("הוספות תצוה");
  76.         listDataHeader.add("הוספות כי תשא");
  77.         listDataHeader.add("הוספות ויקהל");
  78.         listDataHeader.add("הוספות מגלת אסתר");
  79.        
  80.  
  81.         // Adding child data
  82.         List<String> bereshit = new ArrayList<String>();
  83.         bereshit.add("א.א");
  84.         bereshit.add("א.ב");
  85.         bereshit.add("א.ג");
  86.         bereshit.add("א.ד");
  87.         bereshit.add("ב.א");
  88.         bereshit.add("ב.ב");
  89.         bereshit.add("ב.ג");
  90.  
  91.         List<String> noah = new ArrayList<String>();
  92.         noah.add("א.א");
  93.         noah.add("א.ב");
  94.         noah.add("א.ג");
  95.         noah.add("א.ד");
  96.         noah.add("ב.א");
  97.         noah.add("ב.ב");
  98.  
  99.         List<String> leh_leha = new ArrayList<String>();
  100.         leh_leha.add("א.א");
  101.         leh_leha.add("א.ב");
  102.         leh_leha.add("א.ג");
  103.         leh_leha.add("א.ד");
  104.         leh_leha.add("ב.א");
  105.        
  106.      // Adding child data
  107.         List<String> vaira = new ArrayList<String>();
  108.         vaira.add("א.א");
  109.         vaira.add("א.ב");
  110.         vaira.add("א.ג");
  111.         vaira.add("א.ד");
  112.         vaira.add("ב.א");
  113.         vaira.add("ב.ב");
  114.         vaira.add("ב.ג");
  115.        
  116.      // Adding child data
  117.         List<String> haei_sara = new ArrayList<String>();
  118.         haei_sara.add("א.א");
  119.         haei_sara.add("א.ב");
  120.         haei_sara.add("א.ג");
  121.         haei_sara.add("א.ד");
  122.         haei_sara.add("ב.א");
  123.         haei_sara.add("ב.ב");
  124.         haei_sara.add("ב.ג");
  125.        
  126.      // Adding child data
  127.         List<String> toldot = new ArrayList<String>();
  128.         toldot.add("א.א");
  129.         toldot.add("א.ב");
  130.         toldot.add("א.ג");
  131.         toldot.add("א.ד");
  132.         toldot.add("ב.א");
  133.         toldot.add("ב.ב");
  134.         toldot.add("ב.ג");
  135.        
  136.      // Adding child data
  137.         List<String> vaece = new ArrayList<String>();
  138.         vaece.add("א.א");
  139.         vaece.add("א.ב");
  140.         vaece.add("א.ג");
  141.         vaece.add("א.ד");
  142.         vaece.add("ב.א");
  143.         vaece.add("ב.ב");
  144.         vaece.add("ב.ג");
  145.        
  146.      // Adding child data
  147.         List<String> vaishlah = new ArrayList<String>();
  148.         vaishlah.add("א.א");
  149.         vaishlah.add("א.ב");
  150.         vaishlah.add("א.ג");
  151.         vaishlah.add("א.ד");
  152.         vaishlah.add("ב.א");
  153.         vaishlah.add("ב.ב");
  154.         vaishlah.add("ב.ג");
  155.        
  156.      // Adding child data
  157.         List<String> vaeshev = new ArrayList<String>();
  158.         vaeshev.add("א.א");
  159.         vaeshev.add("א.ב");
  160.         vaeshev.add("א.ג");
  161.         vaeshev.add("א.ד");
  162.         vaeshev.add("ב.א");
  163.         vaeshev.add("ב.ב");
  164.         vaeshev.add("ב.ג");
  165.        
  166.      // Adding child data
  167.         List<String> mikezz = new ArrayList<String>();
  168.         mikezz.add("א.א");
  169.         mikezz.add("א.ב");
  170.         mikezz.add("א.ג");
  171.         mikezz.add("א.ד");
  172.         mikezz.add("ב.א");
  173.         mikezz.add("ב.ב");
  174.         mikezz.add("ב.ג");
  175.        
  176.      // Adding child data
  177.         List<String> vaigash = new ArrayList<String>();
  178.         vaigash.add("א.א");
  179.         vaigash.add("א.ב");
  180.         vaigash.add("א.ג");
  181.         vaigash.add("א.ד");
  182.         vaigash.add("ב.א");
  183.         vaigash.add("ב.ב");
  184.         vaigash.add("ב.ג");
  185.        
  186.      // Adding child data
  187.         List<String> vaehi = new ArrayList<String>();
  188.         vaehi.add("א.א");
  189.         vaehi.add("א.ב");
  190.         vaehi.add("א.ג");
  191.         vaehi.add("א.ד");
  192.         vaehi.add("ב.א");
  193.         vaehi.add("ב.ב");
  194.         vaehi.add("ב.ג");
  195.        
  196.      // Adding child data
  197.         List<String> vaire = new ArrayList<String>();
  198.         vaire.add("א.א");
  199.         vaire.add("א.ב");
  200.         vaire.add("א.ג");
  201.         vaire.add("א.ד");
  202.         vaire.add("ב.א");
  203.         vaire.add("ב.ב");
  204.         vaire.add("ב.ג");
  205.        
  206.         List<String> bo = new ArrayList<String>();
  207.         bo.add("א.א");
  208.         bo.add("א.ב");
  209.         bo.add("א.ג");
  210.         bo.add("א.ד");
  211.         bo.add("ב.א");
  212.         bo.add("ב.ב");
  213.         bo.add("ב.ג");
  214.        
  215.         List<String> beshalah = new ArrayList<String>();
  216.         beshalah.add("א.א");
  217.         beshalah.add("א.ב");
  218.         beshalah.add("א.ג");
  219.         beshalah.add("א.ד");
  220.         beshalah.add("ב.א");
  221.         beshalah.add("ב.ב");
  222.         beshalah.add("ב.ג");
  223.        
  224.         List<String> itro = new ArrayList<String>();
  225.         itro.add("א.א");
  226.         itro.add("א.ב");
  227.         itro.add("א.ג");
  228.         itro.add("א.ד");
  229.         itro.add("ב.א");
  230.         itro.add("ב.ב");
  231.         itro.add("ב.ג");
  232.        
  233.         List<String> mishpatim = new ArrayList<String>();
  234.         mishpatim.add("א.א");
  235.         mishpatim.add("א.ב");
  236.         mishpatim.add("א.ג");
  237.         mishpatim.add("א.ד");
  238.         mishpatim.add("ב.א");
  239.         mishpatim.add("ב.ב");
  240.         mishpatim.add("ב.ג");
  241.        
  242.         List<String> truma = new ArrayList<String>();
  243.         truma.add("א.א");
  244.         truma.add("א.ב");
  245.         truma.add("א.ג");
  246.         truma.add("א.ד");
  247.         truma.add("ב.א");
  248.         truma.add("ב.ב");
  249.         truma.add("ב.ג");
  250.        
  251.         List<String> tezzave = new ArrayList<String>();
  252.         tezzave.add("א.א");
  253.         tezzave.add("א.ב");
  254.         tezzave.add("א.ג");
  255.         tezzave.add("א.ד");
  256.         tezzave.add("ב.א");
  257.         tezzave.add("ב.ב");
  258.         tezzave.add("ב.ג");
  259.        
  260.         List<String> p_zahor = new ArrayList<String>();
  261.         p_zahor.add("א.א");
  262.         p_zahor.add("א.ב");
  263.         p_zahor.add("א.ג");
  264.         p_zahor.add("א.ד");
  265.         p_zahor.add("ב.א");
  266.         p_zahor.add("ב.ב");
  267.         p_zahor.add("ב.ג");
  268.        
  269.         List<String> ki_tisa = new ArrayList<String>();
  270.         ki_tisa.add("א.א");
  271.         ki_tisa.add("א.ב");
  272.         ki_tisa.add("א.ג");
  273.         ki_tisa.add("א.ד");
  274.         ki_tisa.add("ב.א");
  275.         ki_tisa.add("ב.ב");
  276.         ki_tisa.add("ב.ג");
  277.        
  278.         List<String> vayakel = new ArrayList<String>();
  279.         vayakel.add("א.א");
  280.         vayakel.add("א.ב");
  281.         vayakel.add("א.ג");
  282.         vayakel.add("א.ד");
  283.         vayakel.add("ב.א");
  284.         vayakel.add("ב.ב");
  285.         vayakel.add("ב.ג");
  286.        
  287.         List<String> m_ester = new ArrayList<String>();
  288.         m_ester.add("א.א");
  289.         m_ester.add("א.ב");
  290.         m_ester.add("א.ג");
  291.         m_ester.add("א.ד");
  292.         m_ester.add("ב.א");
  293.         m_ester.add("ב.ב");
  294.         m_ester.add("ב.ג");
  295.        
  296.         List<String> _vaehi = new ArrayList<String>();
  297.         _vaehi.add("א.א");
  298.         _vaehi.add("א.ב");
  299.         _vaehi.add("א.ג");
  300.         _vaehi.add("א.ד");
  301.         _vaehi.add("ב.א");
  302.         _vaehi.add("ב.ב");
  303.         _vaehi.add("ב.ג");
  304.        
  305.         List<String> _shmot = new ArrayList<String>();
  306.         _shmot.add("א.א");
  307.         _shmot.add("א.ב");
  308.         _shmot.add("א.ג");
  309.         _shmot.add("א.ד");
  310.         _shmot.add("ב.א");
  311.         _shmot.add("ב.ב");
  312.         _shmot.add("ב.ג");
  313.        
  314.         List<String> _itro = new ArrayList<String>();
  315.         _itro.add("א.א");
  316.         _itro.add("א.ב");
  317.         _itro.add("א.ג");
  318.         _itro.add("א.ד");
  319.         _itro.add("ב.א");
  320.         _itro.add("ב.ב");
  321.         _itro.add("ב.ג");
  322.        
  323.         List<String> _tezzave = new ArrayList<String>();
  324.         _tezzave.add("א.א");
  325.         _tezzave.add("א.ב");
  326.         _tezzave.add("א.ג");
  327.         _tezzave.add("א.ד");
  328.         _tezzave.add("ב.א");
  329.         _tezzave.add("ב.ב");
  330.         _tezzave.add("ב.ג");
  331.        
  332.         List<String> _ki_tisa = new ArrayList<String>();
  333.         _ki_tisa.add("א.א");
  334.         _ki_tisa.add("א.ב");
  335.         _ki_tisa.add("א.ג");
  336.         _ki_tisa.add("א.ד");
  337.         _ki_tisa.add("ב.א");
  338.         _ki_tisa.add("ב.ב");
  339.         _ki_tisa.add("ב.ג");
  340.        
  341.         List<String> _vayakel = new ArrayList<String>();
  342.         _vayakel.add("א.א");
  343.         _vayakel.add("א.ב");
  344.         _vayakel.add("א.ג");
  345.         _vayakel.add("א.ד");
  346.         _vayakel.add("ב.א");
  347.         _vayakel.add("ב.ב");
  348.         _vayakel.add("ב.ג");
  349.        
  350.         List<String> _m_ester = new ArrayList<String>();
  351.         _m_ester.add("א.א");
  352.         _m_ester.add("א.ב");
  353.         _m_ester.add("א.ג");
  354.         _m_ester.add("א.ד");
  355.         _m_ester.add("ב.א");
  356.         _m_ester.add("ב.ב");
  357.         _m_ester.add("ב.ג");
  358.                        
  359.         listDataChild.put(listDataHeader.get(0), bereshit); // Header, Child data
  360.         listDataChild.put(listDataHeader.get(1), noah);
  361.         listDataChild.put(listDataHeader.get(2), leh_leha);
  362.         listDataChild.put(listDataHeader.get(3), vaira);
  363.         listDataChild.put(listDataHeader.get(4), haei_sara);
  364.         listDataChild.put(listDataHeader.get(5), toldot);
  365.         listDataChild.put(listDataHeader.get(6), vaece);
  366.         listDataChild.put(listDataHeader.get(7), vaishlah);
  367.         listDataChild.put(listDataHeader.get(8), vaeshev);
  368.         listDataChild.put(listDataHeader.get(9), mikezz);
  369.         listDataChild.put(listDataHeader.get(10), vaigash);
  370.         listDataChild.put(listDataHeader.get(11), vaehi);
  371.         listDataChild.put(listDataHeader.get(12), vaire);
  372.         listDataChild.put(listDataHeader.get(13), bo);
  373.         listDataChild.put(listDataHeader.get(14), beshalah);
  374.         listDataChild.put(listDataHeader.get(15), itro);
  375.         listDataChild.put(listDataHeader.get(16), mishpatim);
  376.         listDataChild.put(listDataHeader.get(17), truma);
  377.         listDataChild.put(listDataHeader.get(18), tezzave);
  378.         listDataChild.put(listDataHeader.get(19), p_zahor);
  379.         listDataChild.put(listDataHeader.get(20), ki_tisa);
  380.         listDataChild.put(listDataHeader.get(21), vayakel);
  381.         listDataChild.put(listDataHeader.get(22), m_ester);
  382.         listDataChild.put(listDataHeader.get(23), _vaehi);
  383.         listDataChild.put(listDataHeader.get(24), _shmot);
  384.         listDataChild.put(listDataHeader.get(25), _itro);
  385.         listDataChild.put(listDataHeader.get(26), _tezzave);
  386.         listDataChild.put(listDataHeader.get(27), _ki_tisa);
  387.         listDataChild.put(listDataHeader.get(28), _vayakel);
  388.         listDataChild.put(listDataHeader.get(29), _m_ester);
  389.     }
  390. }


и вместо длиннющего куска тип add.(""); передать готовый String[] массивчик.

Ну примерно как здесь


import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

Resources res = getResources();
String[] name = res.getStringArray(R.array. admurim) ;// это передаю готовый массив .admurim

ListView lv = (ListView) findViewById(R.id.lv);

//вот передаю String[] в ArrayAdapter
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1,name);

lv.setAdapter(adapter);
}
}


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 45. Список-дерево ExpandableListView
СообщениеДобавлено: 23 сен 2014, 00:45 
Аватар пользователя

Зарегистрирован: 15 сен 2014, 04:31
Сообщений: 2
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Всё проблему решили на другом форуме

вот решение
Код: [ Загрузить ] [ Скрыть ]
  1. private void prepareListData() { 
  2.  
  3.         listDataHeader = new ArrayList<String>(); 
  4.         listDataChild = new HashMap<String, List<String>>(); 
  5.          
  6.         Resources res = getResources(); 
  7.         String] names = res.getStringArray(R.array.parshiet); 
  8.         for(String s: names) 


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 45. Список-дерево ExpandableListView
СообщениеДобавлено: 08 дек 2014, 01:43 

Зарегистрирован: 28 окт 2014, 14:43
Сообщений: 11
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Доброй ночи. Подскажите пожалуйста. Переписал уже в трех реализациях код и каждый раз ошибка одна. во всех случаях - ошибка одна... Как с этим бороться?
Создаю адаптер:
Код: [ Загрузить ] [ Скрыть ]
  1. public class StocksAdapter extends BaseExpandableListAdapter { 
  2.  
  3.     private Context context ; 
  4.     private ArrayList<Map<String,Object>> groups; 
  5.     private ArrayList<ArrayList<Map<String,Object>>> children; 
  6.  
  7.     public  StocksAdapter ( Context context ,  ArrayList<Map<String, Object>> groups ,  ArrayList<ArrayList<Map<String, Object>>> children ) 
  8.     { 
  9.         this.context = context; 
  10.         this.groups = groups; 
  11.         this.children = children; 
  12.     } 
  13.     @Override 
  14.     public boolean areAllItemsEnabled() 
  15.     { 
  16.         return true; 
  17.     } 
  18.  
  19.     @Override 
  20.     public Object getChild(int groupPosition, int childPosition) { 
  21.         return children.get(groupPosition).get(childPosition); 
  22.     } 
  23.  
  24.     @Override 
  25.     public long getChildId(int groupPosition, int childPosition) { 
  26.         return childPosition; 
  27.     } 
  28.  
  29.     // Return a child view. You can load your custom layout here. 
  30.     @Override 
  31.     public View getChildView(int groupPosition, int childPosition, boolean isLastChild, 
  32.                              View convertView, ViewGroup parent) { 
  33.         Map mc = (HashMap) getChild(groupPosition, childPosition); 
  34.         if (convertView == null) { 
  35.             LayoutInflater infalInflater = (LayoutInflater) context 
  36.                     .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
  37.             convertView = infalInflater.inflate(R.layout.stocks_item, null); 
  38.         } 
  39.  
  40.         TextView tvStockName = (TextView)convertView.findViewById(R.id.tvStockName); 
  41.  
  42.             tvStockName.setText((CharSequence) mc.get("name")); 
  43.  
  44.         TextView tvDescription = (TextView)convertView.findViewById(R.id.tvDescription); 
  45.         if (tvDescription != null) 
  46.             tvDescription.setText((CharSequence) mc.get("descr")); 
  47.  
  48.         ImageView ivLogo = (ImageView) convertView.findViewById(R.id.ivLogo); 
  49.         Picasso.with(context).load(mc.get("logo").toString()).resize(75, 75).into(ivLogo); 
  50.  
  51.  
  52.  
  53. //        convertView.setFocusableInTouchMode(true); 
  54.         return convertView; 
  55.     } 
  56.  
  57.     @Override 
  58.     public int getChildrenCount(int groupPosition) { 
  59.         return children.get(groupPosition).size(); 
  60.     } 
  61.  
  62.     @Override 
  63.     public Object getGroup(int groupPosition) { 
  64.         return groups.get(groupPosition); 
  65.     } 
  66.  
  67.     @Override 
  68.     public int getGroupCount() { 
  69.         return groups.size(); 
  70.     } 
  71.  
  72.     @Override 
  73.     public long getGroupId(int groupPosition) { 
  74.         return groupPosition; 
  75.     } 
  76.  
  77.     // Return a group view. You can load your custom layout here. 
  78.     @Override 
  79.     public View getGroupView(int groupPosition, boolean isExpanded, View convertView, 
  80.                              ViewGroup parent) { 
  81.         Map mg= (HashMap) getGroup(groupPosition); 
  82.         if (convertView == null) { 
  83.             LayoutInflater infalInflater = (LayoutInflater) context 
  84.                     .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
  85.             convertView = infalInflater.inflate(android.R.layout.simple_expandable_list_item_1, null); 
  86.         } 
  87.  
  88.         TextView text1 = (TextView)convertView.findViewById(android.R.id.text1); 
  89.         if (text1 != null) 
  90.             text1.setText((CharSequence) mg.get("groupName")); 
  91.  
  92.         return convertView; 
  93.     } 
  94.     @Override 
  95.     public boolean hasStableIds() { 
  96.         return true; 
  97.     } 
  98.  
  99.     @Override 
  100.     public boolean isChildSelectable(int arg0, int arg1) { 
  101.         return true; 
  102.     } 


упаковываю данные:

Код: [ Загрузить ] [ Скрыть ]
  1. ArrayList<Map<String, Object>> groupData; 
  2. ArrayList<ArrayList<Map<String,Object>>> childData; 
  3. ArrayList<Map<String,Object>> childDataItem; 
  4. Map<String, Object> stocks_elem; 
  5.  
  6. groupData = new ArrayList<Map<String, Object>>(); 
  7.         for (String group : groupStocks) { 
  8.             stocks_elem = new HashMap<>(); 
  9.             stocks_elem.put("groupName", group); 
  10.             groupData.add(stocks_elem); 
  11.         } 
  12. childData = new ArrayList<ArrayList<Map<String, Object>>>(); 
  13.         for(int z=0; z<stocks_name.length();z++){ 
  14.             stocks_elem = new HashMap<String,Object>(); 
  15.             stocks_elem.put(STOCKS_NAME,sn[z]); 
  16.             stocks_elem.put(STOCKS_LOGO,sl[z]); 
  17.             stocks_elem.put(STOCKS_DESCR,sd[z]); 
  18.             childDataItem.add(stocks_elem); 
  19.             childData.add(childDataItem); 
  20.        } 


нахожу список и скармливаю ему адаптер:
Код: [ Загрузить ] [ Скрыть ]
  1. StocksAdapter adapter = new StocksAdapter(this,groupData,childData); 
  2. elvStocks = (ExpandableListView) findViewById(R.id.elvStocks); 
  3.         elvStocks.setAdapter(adapter); 


В результате отображается список но при попытке его развернуть - приложение вылетает.
Лог:
Код: [ Загрузить ] [ Скрыть ]
  1. 12-08 00:28:11.260      327-327/? D/AndroidRuntime﹕ Shutting down VM 
  2. 12-08 00:28:11.260      327-327/? W/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x40015560) 
  3. 12-08 00:28:11.290      327-327/? E/AndroidRuntime﹕ FATAL EXCEPTION: main 
  4.     java.lang.IndexOutOfBoundsException: Invalid index 0, size is 0 
  5.             at java.util.ArrayList.throwIndexOutOfBoundsException(ArrayList.java:257) 
  6.             at java.util.ArrayList.get(ArrayList.java:311) 
  7.             at com.example.fikus.restlist_geo_frag_activity.StocksAdapter.getChildrenCount(StocksAdapter.java:77) 
  8.             at android.widget.ExpandableListConnector.refreshExpGroupMetadataList(ExpandableListConnector.java:561) 
  9.             at android.widget.ExpandableListConnector.expandGroup(ExpandableListConnector.java:682) 
  10.             at android.widget.ExpandableListView.handleItemClick(ExpandableListView.java:567) 
  11.             at android.widget.ExpandableListView.performItemClick(ExpandableListView.java:527) 
  12.             at android.widget.AbsListView$PerformClick.run(AbsListView.java:1812) 
  13.             at android.os.Handler.handleCallback(Handler.java:587) 
  14.             at android.os.Handler.dispatchMessage(Handler.java:92) 
  15.             at android.os.Looper.loop(Looper.java:123) 
  16.             at android.app.ActivityThread.main(ActivityThread.java:3683) 
  17.             at java.lang.reflect.Method.invokeNative(Native Method) 
  18.             at java.lang.reflect.Method.invoke(Method.java:507) 
  19.             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
  20.             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
  21.             at dalvik.system.NativeStart.main(Native Method) 


Строка "(StocksAdapter.java:77)" указывает на код:
@Override
public int getChildrenCount(int groupPosition) {
return children.get(groupPosition).size();
}


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 45. Список-дерево ExpandableListView
СообщениеДобавлено: 05 фев 2015, 16:30 

Зарегистрирован: 05 фев 2015, 16:23
Сообщений: 8
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Добр времени суток.

Нигде не нашел ни одного упоминания о сортировки записей в ExpandableListView
- у меня содержимое ExpandableListView - это папки.
И сортируются они по непонятному мне принципу.

А хотелось бы по понятному, по алфавиту или по дате создания


Help please!


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 45. Список-дерево ExpandableListView
СообщениеДобавлено: 05 фев 2015, 16:41 
Аватар пользователя

Зарегистрирован: 23 ноя 2013, 16:08
Сообщений: 1107
Откуда: Ukraine
Благодарил (а): 31 раз.
Поблагодарили: 175 раз.
Kant писал(а):
Добр времени суток.

Нигде не нашел ни одного упоминания о сортировки записей в ExpandableListView
- у меня содержимое ExpandableListView - это папки.
И сортируются они по непонятному мне принципу.

А хотелось бы по понятному, по алфавиту или по дате создания


Help please!

http://www.mkyong.com/java/java-object- ... omparator/ компаратор
http://stackoverflow.com/questions/9109 ... the-object

_________________
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 45. Список-дерево ExpandableListView
СообщениеДобавлено: 05 фев 2015, 17:15 

Зарегистрирован: 05 фев 2015, 16:23
Сообщений: 8
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
А круто) Это видимо в адапторе надо делать
и не проходит с таким массивом groupData = new ArrayList<Map<String, String>>();


Вложения:
31243.jpg
31243.jpg [ 59.83 KiB | Просмотров: 5277 ]
123.jpg
123.jpg [ 65.53 KiB | Просмотров: 5278 ]


Последний раз редактировалось Kant 05 фев 2015, 17:20, всего редактировалось 1 раз.
Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 45. Список-дерево ExpandableListView
СообщениеДобавлено: 05 фев 2015, 17:16 

Зарегистрирован: 05 фев 2015, 16:23
Сообщений: 8
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
А может можно не в адапторе а в ExpandableListView как то сделать сортировку


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 45. Список-дерево ExpandableListView
СообщениеДобавлено: 05 фев 2015, 17:24 
Аватар пользователя

Зарегистрирован: 17 фев 2012, 21:23
Сообщений: 1339
Откуда: Мордор
Благодарил (а): 16 раз.
Поблагодарили: 161 раз.
Сортировка делается перед передачей массива в адаптер.
doter.ua уже дал ссылки на правильные ресурсы. Там много вариантов, но вам, скорее всего, подойдет использование интерфейса Comparator.

_________________
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 45. Список-дерево ExpandableListView
СообщениеДобавлено: 05 фев 2015, 17:35 

Зарегистрирован: 05 фев 2015, 16:23
Сообщений: 8
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
KamiSempai, а чего можно сделать - у меня на скринах, там им хочется что бы не строки были в массивах, а байты.
Можешь это как то прокомментировать)?
А то я не знаю как приспособиться)



строка создания массива такая :
groupData = new ArrayList<Map<String, String>>();
а скрины с ошибками выше


Последний раз редактировалось Kant 05 фев 2015, 17:46, всего редактировалось 1 раз.

Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 45. Список-дерево ExpandableListView
СообщениеДобавлено: 05 фев 2015, 17:46 
Аватар пользователя

Зарегистрирован: 17 фев 2012, 21:23
Сообщений: 1339
Откуда: Мордор
Благодарил (а): 16 раз.
Поблагодарили: 161 раз.
Вы не тот метод используете.
Нужно вот этот:
Collections.sort (List<T> list, Comparator<? super T> comparator)

И вот ссылка на русском, для понимания сортировок в java
http://echuprina.blogspot.ru/2012/02/co ... rator.html

_________________
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 45. Список-дерево ExpandableListView
СообщениеДобавлено: 05 фев 2015, 17:48 

Зарегистрирован: 05 фев 2015, 16:23
Сообщений: 8
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Почитаю, спасибо!
Надеюсь получится.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 45. Список-дерево ExpandableListView
СообщениеДобавлено: 05 фев 2015, 18:19 

Зарегистрирован: 05 фев 2015, 16:23
Сообщений: 8
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
KamiSempai, это получается очень сложно и очень долго разбираться ( если вообще удастся)
А самое главное то что в итоге - будет не совсем то что мне нужно..

Я понимаю что правильно - это изменять последовательность строк expandableListView в адапторе.
Но если мне надо поменять местами скажем первую и последнюю строку или первую и пятую строку,
может есть возможность сделать это без адаптера ?
( это не совсем сортировка)


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 45. Список-дерево ExpandableListView
СообщениеДобавлено: 05 фев 2015, 18:56 

Зарегистрирован: 05 фев 2015, 16:23
Сообщений: 8
Благодарил (а): 2 раз.
Поблагодарили: 0 раз.
Можно ли менять местами строки в ExpandableListView ?


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: Урок 45. Список-дерево ExpandableListView
СообщениеДобавлено: 06 фев 2015, 00:12 
Аватар пользователя

Зарегистрирован: 23 ноя 2013, 16:08
Сообщений: 1107
Откуда: Ukraine
Благодарил (а): 31 раз.
Поблагодарили: 175 раз.
Kant писал(а):
Можно ли менять местами строки в ExpandableListView ?

Изменяй порядок в массиве, который передавал в адаптер при создании. Потом обнови адаптер с помощью notifydatasetchanged().

_________________
Семь раз отмерь - поставь студию.
Эклипс не студия, ошибка вылетит - не исправишь.
Скажи мне кто твой друг, и оба поставили студию.
Студия - свет, а эклипс - тьма.


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 181 ]  На страницу Пред.  1 ... 5, 6, 7, 8, 9, 10  След.

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


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

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