2013-09-27 2 views
0

공유 환경 설정에 저장된 약 6 개의 행을 저장하고 각 행에는 이름, 설명, 가격 등이 있습니다. 각 행의 이름, 설명, 가격을 검색 할 수있는 목록이 있습니다. 공유 환경 설정. 행의 모든 ​​데이터를 가져 와서 목록을 채우는 방법? 내가sharedPreferences에 저장된 데이터로 ListView 채우기

했을

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

어떤 항목에 세트 드리려고

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); 

전체 코드와 같은 드리려고

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

그리고 얻을 수있는 곳 등 편집 설정 prefrence는 목록을 수행 행에 들어 있습니까? –

+0

이름, 해설 및 가격 등이 있습니다. – Passion

+0

@ Passion hahahaha 1 개월 후에이 대답을 수락합니다. 멋져, 제발 나 한테 투표 해 줘. –

답변

1

어댑터는 액티비티 클래스의 설정 데이터 세트의 환경 설정에서 드리려고 먼저 얻을 데이터 같은 것을을 좋아하고 배열 목록으로 설정 목록 -로 설정입니다 전망. 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

관련 문제