ListView with Sections Android Studio

时间:2015-06-24 23:12:22

标签: java android listview arraylist expandablelistview

如何对我的适配器进行编程,以便在ArrayList内的onPostExecute内可视化AsynkTask的内容?

我有以下课程:

class PlatoCuenta{
    public String id;
    public String name;
    public Integer served_as;
    public String served;
    public String price;
    public String quantity;
    public String title_cuenta;
}

我有以下数组列表:

ArrayList<PlatoCuenta> bebidas=new ArrayList<PlatoCuenta>();

bebidas=new ArrayList<PlatoCuenta>();

JSONArray mArray = new JSONArray(jsonstr);
for(int i = 0; i < mArray.length(); ++i) {
    JSONObject currentObject = mArray.getJSONObject(i);

    PlatoCuenta producto= new PlatoCuenta();
    SectionItem SectionCuenta = new SectionItem();
    producto.id=currentObject.getString("id");
    producto.served=currentObject.getString("served");

    if(currentObject.getString("price").equals("None")) 
        producto.price="0.00";
    else
        producto.price=currentObject.getString("price");

    producto.name= currentObject.getString("product_name");
    producto.quantity=currentObject.getString("product_number");
    producto.served_as = currentObject.getInt("serv_order");

    if(producto.served_as==0){
        SectionCuenta.title="bebidas";
        producto.title_cuenta=SectionCuenta.title;
        bebidas.add(producto);
    }
    if(producto.served_as==2){
        SectionCuenta.title="entrantes";
        producto.title_cuenta=SectionCuenta.title;
        bebidas.add(producto);
    }
}

1 个答案:

答案 0 :(得分:0)

假设您有ArrayList<PlatoCuenta> bebidas=new ArrayList<PlatoCuenta>();。可视化列表视图的一般步骤是:

  1. 创建行布局row.xml
  2. 为行创建适配器
  3. 将适配器设置为列表视图。
  4. 再次假设您已经拥有了row.xml的设计。创建适配器(步骤2)。

    public class MyAdapter extends BaseAdapter {
    
    public MySimpleArrayAdapter(Context context, ArrayList list) {
        super(context, R.layout.rowlayout, 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.row.xml, parent, false);
       //continue creating your row here
    
     return rowView;
     }
    } 
    

    onPostExecute

    MyAdapter adapter = new MyAdapter(context,bebidas);
    listView.setAdapter(adapter);
    

    好教程:Custom ListView