2017-02-15 25 views
-2

が表示されていないことは、できるだけ早く私のリストビューはここでその内容

ここ
public class ProductList extends AppCompatActivity { 
public static ArrayList<ItemProductList> values1=new ArrayList<ItemProductList>(); 
ListView list_productlist; 
Context context = this; 
public ItenProductAdapter mAdapter; 
String category,name1; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_product_list); 
    list_productlist = (ListView) findViewById(R.id.list_productlist); 
    category=getIntent().getStringExtra("category"); 
    name1=getIntent().getStringExtra("name"); 
    loadJSON(); 
    mAdapter= new ItenProductAdapter(context,values1); 
    list_productlist.setAdapter(mAdapter); 
} 

private void loadJSON() { 
    StringRequest jsonObjReq = new StringRequest(Request.Method.POST, 
      "http://arshinfosystems.co.in/demo/AoneRubber/productlist.php", 
      new Response.Listener<String>() { 


       @Override 
       public void onResponse(String response) { 
        try { 
         JSONObject jObject = new JSONObject(response); 
         JSONArray jsonArray = jObject.getJSONArray("cart"); 
         for (int i = 0; i < jsonArray.length(); i++) { 

          JSONObject jbjct = jsonArray.getJSONObject(i); 
          ItemProductList itemListModel = new ItemProductList(); 
          itemListModel.thickness1 = jbjct.getString("thickness"); 
          itemListModel.id1 = jbjct.getString("id"); 
          itemListModel.price1 = jbjct.getString("price"); 
          itemListModel.category1 = jbjct.getString("category"); 
          itemListModel.name1=jbjct.getString("name"); 
          itemListModel.sr_no=jbjct.getString("sr_no"); 
          values1.add(itemListModel); 
         } 


        } catch (JSONException e) { 
         e.printStackTrace(); 
        } 
       } 
      }, new Response.ErrorListener() { 

     @Override 
     public void onErrorResponse(VolleyError error) { 

      Toast.makeText(ProductList.this, error.toString(), Toast.LENGTH_SHORT).show(); 

     } 
    }) { 
     @Override 
     protected Map<String, String> getParams() { 
      Map<String, String> params = new HashMap<String, String>(); 
      params.put("category", category); 
      params.put("name", name1); 
      return params; 
     } 
    }; 
    jsonObjReq.setRetryPolicy(new DefaultRetryPolicy(50000, 
      DefaultRetryPolicy.DEFAULT_MAX_RETRIES, 
      DefaultRetryPolicy.DEFAULT_BACKOFF_MULT)); 
    RequestQueue requestQueue = Volley.newRequestQueue(this); 
    requestQueue.add(jsonObjReq); 
    } 
} 

として私を提案してくださいリストビューの製品を表示する方法MainActivity ためのコードであるリストビューの製品を表示する方法アダプタ ためのコードであることを示唆してください私できるだけ早くしてくださいみんな

アダプタのご getCount関数は常にその返し
public class ItenProductAdapter extends BaseAdapter { 
public static ArrayList<ItemProductList> list1; 
String idValues = ""; 
Context context; 
public static Integer total; 
Bitmap mIcon11 = null; 
ViewHolder holder; 

public ItenProductAdapter(Context context, ArrayList<ItemProductList> list) { 
    super(); 
    this.list1 = list; 
    this.context = context; 


} 

@Override 
public int getCount() { 
    return 0; 
} 

@Override 
public Object getItem(int position) { 
    return null; 
} 

@Override 
public long getItemId(int position) { 
    return 0; 
} 
static class ViewHolder { 
    TextView txt_sr_no; 
    TextView txt_thickness; 
    TextView txt_rates; 
} 
@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    if (convertView == null) { 

     holder=new ViewHolder(); 
     LayoutInflater inflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE); 
     convertView = inflater.inflate(R.layout.product_list_item, null); 

     holder.txt_sr_no= (TextView) convertView.findViewById(R.id.txt_sr_no); 
     holder.txt_thickness= (TextView) convertView.findViewById(R.id.txt_thickness); 
     holder.txt_rates= (TextView) convertView.findViewById(R.id.txt_rates); 

     convertView.setTag(holder); 


    } else { 
     holder = (ViewHolder) convertView.getTag(); 
    } 
    holder.txt_sr_no.setText(list1.get(position).sr_no+")"); 
    holder.txt_thickness.setText(""+ list1.get(position).thickness1); 
    holder.txt_rates.setText("RS "+list1.get(position).price1); 




    return convertView; 
    } 
} 
+0

が行わボレー応答 –

+0

内のアダプタを設定するが、それは私がである私のアプリでは問題を持っていない使用の –

+0

@Camahalan Royetteあるこの

onCreate @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_product_list); list_productlist = (ListView) findViewById(R.id.list_productlist); category=getIntent().getStringExtra("category"); name1=getIntent().getStringExtra("name"); loadJSON(); } 

をお試しくださいログインとサインアップのアクティビティがkitkatバージョンで開かれていません。それを解決する方法 –

答えて

2

を試してみてください。ちゃんそれに応じて

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

これは、より良いArrayAdapterを拡張することです。

+0

ログインとサインアップ活動が私のアプリで問題を抱えていますが、それはより高いバージョンで開かれているkitkatバージョンで開かれていません –

0

があるにはアイテムがありません

変更この

@Override 
public int getCount() { 
    if (list1 != null) { 
     return list1.size(); 
    } 
    return 0; 
} 
+0

ありがとう@DEADCODE –

0

のようなものに、この

@Override 
public int getCount() { 
    return 0; 
} 

()は0を返し、あなたのコード方式同様にgetCountではこの

@Override 
       public void onResponse(String response) { 
        try { 
         JSONObject jObject = new JSONObject(response); 
         JSONArray jsonArray = jObject.getJSONArray("cart"); 
         for (int i = 0; i < jsonArray.length(); i++) { 

          JSONObject jbjct = jsonArray.getJSONObject(i); 
          ItemProductList itemListModel = new ItemProductList(); 
          itemListModel.thickness1 = jbjct.getString("thickness"); 
          itemListModel.id1 = jbjct.getString("id"); 
          itemListModel.price1 = jbjct.getString("price"); 
          itemListModel.category1 = jbjct.getString("category"); 
          itemListModel.name1=jbjct.getString("name"); 
          itemListModel.sr_no=jbjct.getString("sr_no"); 
          values1.add(itemListModel); 
          } 
         mAdapter.setList(values1); 
         mAdapter.notifyDataSetChanged(); 
         } 

アダプタクラス

public class ItenProductAdapter extends BaseAdapter { 
public static ArrayList<ItemProductList> list1; 
String idValues = ""; 
Context context; 
public static Integer total; 
Bitmap mIcon11 = null; 
ViewHolder holder; 

public ItenProductAdapter(Context context, ArrayList<ItemProductList> list) { 
    super(); 
    this.list1 = list; 
    this.context = context; 
} 

public void setList(ArrayList<ItemProductList> list){ 
    this.list1 = list; 
} 


@Override 
public int getCount() { 
    return list1.size(); 
} 

@Override 
public Object getItem(int position) { 
    return null; 
} 

@Override 
public long getItemId(int position) { 
    return 0; 
} 
static class ViewHolder { 
    TextView txt_sr_no; 
    TextView txt_thickness; 
    TextView txt_rates; 
} 
@Override 
public View getView(int position, View convertView, ViewGroup parent) { 
    if (convertView == null) { 

     holder=new ViewHolder(); 
     LayoutInflater inflater = (LayoutInflater) context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE); 
     convertView = inflater.inflate(R.layout.product_list_item, null); 

     holder.txt_sr_no= (TextView) convertView.findViewById(R.id.txt_sr_no); 
     holder.txt_thickness= (TextView) convertView.findViewById(R.id.txt_thickness); 
     holder.txt_rates= (TextView) convertView.findViewById(R.id.txt_rates); 

     convertView.setTag(holder); 


    } else { 
     holder = (ViewHolder) convertView.getTag(); 
    } 
    holder.txt_sr_no.setText(list1.get(position).sr_no+")"); 
    holder.txt_thickness.setText(""+ list1.get(position).thickness1); 
    holder.txt_rates.setText("RS "+list1.get(position).price1); 




    return convertView; 
    } 
} 
+0

mAdapter.notifyDataSetChanged()とアダプタgetCount()は常に0を返します; –

+0

そのlist1は決して更新されません...空のArrayListとして設定されます... –

+0

... ok。回答を更新する。 check plz –

0

その後onResponse

@Override 
       public void onResponse(String response) { 
        try { 
         JSONObject jObject = new JSONObject(response); 
         JSONArray jsonArray = jObject.getJSONArray("cart"); 
         for (int i = 0; i < jsonArray.length(); i++) { 

          JSONObject jbjct = jsonArray.getJSONObject(i); 
          ItemProductList itemListModel = new ItemProductList(); 
          itemListModel.thickness1 = jbjct.getString("thickness"); 
          itemListModel.id1 = jbjct.getString("id"); 
          itemListModel.price1 = jbjct.getString("price"); 
          itemListModel.category1 = jbjct.getString("category"); 
          itemListModel.name1=jbjct.getString("name"); 
          itemListModel.sr_no=jbjct.getString("sr_no"); 
          values1.add(itemListModel); 
         } 
        //Check if list is empty or not 
        if(values1.size()>0){ 
        mAdapter= new ItenProductAdapter(context,values1); 
        list_productlist.setAdapter(mAdapter); 
        } 


        } catch (JSONException e) { 
         e.printStackTrace(); 
        } 
       } 
+0

私はカップルの編集?私はいつもアダプタに 'updateData'メソッドを持っています(その後、彼らは' notifyDataSetChanged'を呼び出します)。この方法で、後で 'loadJson'を呼び出して新しいアダプタを作成せずにページを更新することもできます。 –

+0

はい、できるだけnotifydatasetChangedそれは –

+0

@quick learnerです。私のアプリにはログインとサインアップの問題がありますが、それは高バージョンで開かれているkitkatバージョンでは開かれていません。解決方法 –

関連する問題