0

その中の商品でリストを作っています。そのリストの各行には、商品を買い物リストに追加するためのボタンが必要です。buttonLayout.addViewしかし、私は一日中これにこだわっているので、何かがうまくいきません。誰かが私を助けてくれることを願っています。

これはarraylistのコードです

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

これは私のlogcatです:

09-25 12:38:22.850: E/log_tag(4992): Error parsing data java.lang.NullPointerException これはそれが返す唯一のエラーです

4

0 に答える 0