0

我正在制作一个包含产品的清单。在该列表的每一行中,必须有一个按钮来将产品添加到购物清单。但是有些东西不起作用,buttonLayout.addView我整天都在坚持这个。我希望有一个人可以帮助我。

这是数组列表的代码

protected void onPostExecute(Void v) {                  
        // ambil data dari Json database
        try {               
            JSONArray Jarray = new JSONArray(result);
            ArrayAdapter<String> adapter = new ArrayAdapter<String>(DisplayProductList.this, R.layout.list_item);                               
            /*String productname = null;
            String productprice = null; */                          
            RelativeLayout buttonLayout = (RelativeLayout) findViewById(R.id.listItem);
            HashMap<String,String> map = new HashMap<String,String>();
            for(int i=0;i<Jarray.length();i++)
                        {                                                                                                                           
                             JSONObject Jasonobject = null;                                                              
                             Jasonobject = Jarray.getJSONObject(i);                              
                             map.put("productname" + Integer.toString(i),Jasonobject.getString("ProductName"));    
                             map.put("productprice" + Integer.toString(i),Jasonobject.getString("ProductPrice"));
                             Log.i("log_tag","Mapsize" + map.size());
                             Log.i("log_tag","map productname" + map.get("productname" + Integer.toString(i)));
                             Log.i("log_tag","map productprice" + map.get("productprice" + Integer.toString(i)));
                             final String productname = map.get("productname" + Integer.toString(i));
                             final String productprice = map.get("productprice" + Integer.toString(i));
                             Log.i("log_tag","String productname = " + productname);
                             ImageButton addItem = new ImageButton(DisplayProductList.this);                                     
                             RelativeLayout.LayoutParams lpFirst = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT,LayoutParams.WRAP_CONTENT);                                 
                             addItem.setImageResource(R.drawable.content_new);                               
                             addItem.setId(i);                                                               
                             Log.i("log_tag","buttonLayout.addView(addItem);");
                             buttonLayout.addView(addItem,i, lpFirst);
                             addItem.setOnClickListener(new OnClickListener()
                            {
                                public void onClick(View v)
                                {
                                    orderManager.addItem(1, productname, productprice, 3);
                                }

                            });

                             adapter.add(productname);                               


                        }                       

            ListView listView = (ListView) findViewById(R.id.listViewProduct);
            listView.setOnItemClickListener(new OnItemClickListener()
            {                                   
                public void onItemClick(AdapterView<?> parent, View view, int position, long id )
                {
                    Log.i("log_tag",view + Integer.toString(position) + Long.toString(id));
                    Log.i("log_tag", Integer.toString(view.getId()));
                };
            });                                     

            listView.setAdapter(adapter);

这是我尚未创建按钮的 XML,因为该按钮是在脚本中制作的(如果我错了,请告诉我)

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/listItem"
android:layout_width="match_parent"
android:layout_height="50dip"    
android:paddingRight="40dip"
>

<TextView 
android:id="@+id/productName"
android:layout_width="wrap_content"
android:layout_height="wrap_content" 
android:textSize="24sp"
android:layout_centerVertical="true"    
android:paddingLeft="40dip" />

<TextView 
android:id="@+id/productPrice"
android:layout_width="wrap_content"
android:layout_height="wrap_content" 
android:textSize="24sp"
android:layout_centerVertical="true"    
android:paddingLeft="40dip" />

<EditText
android:id="@+id/productValue"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignParentRight="true"
android:layout_marginRight="60dip"
android:hint="@string/value"
android:singleLine="true"
android:inputType="number"  
android:maxLength="2"  
/>

</RelativeLayout>

欢迎对脚本提出任何其他意见。我还是一个初学者,所以有很多东西要学。

我忘了提到错误。我得到一个:解析数据时出错 java.lang.NullPointerException

这是我的日志:

09-25 12:38:22.850: E/log_tag(4992): Error parsing data java.lang.NullPointerException 这是它返回的唯一错误

4

0 回答 0