2013-09-27 4 views
0

Я сохранил около 6 строк, сохраненных в общих предпочтениях, и каждая строка содержит имя, описание, цену и т. Д. У меня есть список, в котором я должен заполнять имя, описание, цену в каждой строке, полученной из общие предпочтения. Как получить все данные в списке строк и заполнителей?Заполнение ListView с данными, сохраненными в sharedPreferences

Я сделал

public class LazyAdapter extends BaseAdapter { 

     private Activity activity; 
     private LayoutInflater inflater=null; 
     private ArrayList<HashMap<String, Object>> data; 
     //public ImageLoader imageLoader; 
     int i=0; 
     public LazyAdapter(Activity a) { 
      activity = a; 
      inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      //imageLoader=new ImageLoader(activity.getApplicationContext()); 
     } 

     public int getCount() { 
      return data.size(); 
     } 

     public Object getItem(int position) { 
      return position; 
     } 

     public long getItemId(int position) { 
      return position; 
     } 

     public View getView(int position, View convertView, ViewGroup parent) { 
      View vi=convertView; 
      if(convertView==null) 
       vi = inflater.inflate(R.layout.order_list, null); 

      TextView orderDishDescription = (TextView)vi.findViewById(R.id.orderDishDescription); 
      TextView OrderDishName = (TextView)vi.findViewById(R.id.OrderDishName); 
      TextView OrderDishPrice = (TextView)vi.findViewById(R.id.OrderDishPrice); 
      ImageView imageview=(ImageView) vi.findViewById(R.id.list_image_order); 
      //ImageView thumb_image=(ImageView)vi.findViewById(R.id.list_image);/
      //HashMap<String, Object> song = new HashMap<String, Object>(); 
     // song = data.get(position); 


      Log.i("iiiiii "," " +i++); 

//   Log.i("objj.Get_O_Id() ",objj.Get_O_Id()); 
//   Log.i("objj.GetProductName() ",objj.GetProductName()); 
//   Log.i("objj.GetDescription() ",objj.GetDescription()); 
//   

     OrderDishPrice.setText(OrderSharedPrefences.getDish_Price(getApplicationContext())); 
     OrderDishName.setText(OrderSharedPrefences.getUserName(getApplicationContext())); 
     orderDishDescription.setText(OrderSharedPrefences.getDish_Description(getApplicationContext())); 
     //imageview.setImageBitmap(objj.GetImage()); 


     return vi; 
    } 
    } 
+0

Какие предметы делает свой список строка содержит? –

+0

у него есть имя, описание и цена и т. Д. – Passion

+0

@ Пассион хахахаха через 1 месяц вы принимаете этот ответ. Прохладный, пожалуйста, дайте мне один голос. –

ответ

1

Ваш адаптер Хорошо просто сделать набор данных из вашего класса активность, что-то вроде что- сначала получить данные от предпочтения в наборе и установить в массив-список, то установите в list- Посмотреть. EDIT Set prefrence, как, как что-

    SharedPreferences.Editor sEdit = sPrefs 
          .edit(); 
        sEdit.putString("NAME", content); 
        sEdit.putStringSet("args", listArraySet); 
        sEdit.commit(); 

И получить в любом месте, как что-

sPrefs=PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); 
     listArraySet=new HashSet<String>(); 
     listArraySet=sPrefs.getStringSet(name1,new HashSet<String>()); 

     list=new ArrayList<String>(listArraySet); 
     ArrayAdapter<String> ao=new ArrayAdapter<String>(this, R.layout.songs_list_item, R.id.songTitle, list); 
     lv.setAdapter(ao); 

весь код для набора в listview-

@Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.songs_list); 
     list = new ArrayList<String>(); 
     lv=(ListView)findViewById(R.id.listView1); 

     sPrefs=PreferenceManager.getDefaultSharedPreferences(getApplicationContext()); 
     listArraySet=new HashSet<String>(); 
     listArraySet=sPrefs.getStringSet(name1,new HashSet<String>()); 

     list=new ArrayList<String>(listArraySet); 
     ArrayAdapter<String> ao=new ArrayAdapter<String>(this, R.layout.songs_list_item, R.id.songTitle, list); 
     lv.setAdapter(ao); 

     //-------------------------CLICK ON LIST ITEM_----------------------- 
     lv.setOnItemClickListener(new OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> parent, View view, 
        int position, long id) { 
       int index = parent.getPositionForView(view);    
       String filename = list.get(index);    

      } 
     }); 
    } 
} 
+0

дайте мне немного больше информации – Passion

+0

Вы получаете данные от предпочтения? –

+0

lolzz ... отлично ... из-за занятости я забыл посетить мой профиль .. шутки, почему я отметил ваш ответ поздно – Passion

Смежные вопросы