2012-02-28 80 views
0

對不起,我的英語。我有我自己的ArrayAdapter列表活動。我的問題是:當我將數據提交到Web服務時,數據被添加到ArrayList。這裏一切都很正常。 Nexus和Android OS 4.0列出了數據,但其他手機和2.3.3不列出數據。一切正常,我沒有收到任何錯誤。Android自己的陣列適配器

我不知道什麼是問題。使用Nexus(OS 4.0)編程列表數據,但未在2.3.3中列出。

  • 我的主要活動類擴展ListActivity
    • 公共靜態的ArrayList freqzo;靜態MobileArrayAdapter freqz;
    • freqzo = new ArrayList(); freqz = new MobileArrayAdapter(this,freqzo);
    • this.setListAdapter(freqz); ListView lv = getListView();
    • lv.setTextFilterEnabled(true); //和我的填充數組列表部分:if(store
    • instanceof Vector){Object [] arr =((Vector)store).toArray();對於
    • (int i = 0; i < arr.length; i ++){freqzo.add((String)arr [i] .toString()); }

我的移動適配器類:

public class MobileArrayAdapter extends ArrayAdapter<String> { 

    private final Context context; 
    private final ArrayList<String> values; 

    public MobileArrayAdapter(Context context, ArrayList<String> values) { 
     super(context, R.layout.listlayout, values); 
     this.context = context; 
     this.values = values; 
    } 

    @Override 
    public View getView(int position, View convertView, ViewGroup parent) { 
     LayoutInflater inflater = (LayoutInflater) context 
      .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

     View rowView = inflater.inflate(R.layout.listlayout, parent, false); 
     TextView textView = (TextView) rowView.findViewById(R.id.label); 
     ImageView imageView = (ImageView) rowView.findViewById(R.id.logo); 

     String s = values.get(position); 
     Log.d("Liste", "Liste " + values.get(position)); 
     if (s != null && !s.equals("")) { 
      textView.setText(s); 
     } 

     // Change icon based on name 
     // String s = values[position]; 

     return rowView; 
    } 
} 

回答

1

也許盡顯你的名單後,你應該叫adapter.notifyDataSetChanged()

+0

感謝我的freand它的工作。 – 2012-02-28 14:54:06

0

那件是壞:

LayoutInflater inflater = (LayoutInflater) context 
     .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

    View rowView = inflater.inflate(R.layout.listlayout, parent, false); 

第一,你不使用,是由適配器爲您創建的視圖,但始終創建​​一個新的。 Java機器會清理過多的對象,但需要大量的時間。其次,ArrayAdapter可以完成所有工作。看here

相關問題