2017-09-19 1 views
-1

をsrcollingとき、二重に表示され、私が実行しているJSONでMySQL、リストビューから629の記録部のリストビューを作成しようとしましたが、データは二重の表示 リストビュー示すが、

これは私の定数

package com.example.asus.mywarehouse; 
 

 
public class Constants { 
 

 
    public static final String COLUMN1="No_Part"; 
 
    public static final String COLUMN2="Part_Desc"; 
 
    public static final String COLUMN3="Spec1"; 
 
    public static final String COLUMN4="Spec2"; 
 
    public static final String COLUMN5="Sat"; 
 
    public static final String COLUMN6="Location"; 
 
    public static final String COLUMN7="Qty_Onh"; 
 

 
}
0123です

これは誰もがこの問題を解決することができ、私のListViewAdapter

package com.example.asus.mywarehouse; 
 

 
import static com.example.asus.mywarehouse.Constants.COLUMN1; 
 
import static com.example.asus.mywarehouse.Constants.COLUMN2; 
 
import static com.example.asus.mywarehouse.Constants.COLUMN3; 
 
import static com.example.asus.mywarehouse.Constants.COLUMN4; 
 
import static com.example.asus.mywarehouse.Constants.COLUMN5; 
 
import static com.example.asus.mywarehouse.Constants.COLUMN6; 
 
import static com.example.asus.mywarehouse.Constants.COLUMN7; 
 

 
import java.util.ArrayList; 
 
import java.util.HashMap; 
 

 
import android.app.Activity; 
 
import android.view.LayoutInflater; 
 
import android.view.View; 
 
import android.view.ViewGroup; 
 
import android.widget.BaseAdapter; 
 
import android.widget.TextView; 
 

 
public class ListViewAdapter extends BaseAdapter{ 
 

 
    public ArrayList<HashMap<String, String>> list; 
 
    Activity activity; 
 
    TextView txt1; 
 
    TextView txt2; 
 
    TextView txt3; 
 
    TextView txt4; 
 
    TextView txt5; 
 
    TextView txt6; 
 
    TextView txt7; 
 

 
    public ListViewAdapter(Activity activity,ArrayList<HashMap<String, String>> list){ 
 
     super(); 
 
     this.activity=activity; 
 
     this.list=list; 
 
    } 
 

 
    @Override 
 
    public int getCount() { 
 
     // TODO Auto-generated method stub 
 
     return list.size(); 
 
    } 
 

 
    @Override 
 
    public Object getItem(int position) { 
 
     // TODO Auto-generated method stub 
 
     return list.get(position); 
 
     //return null; 
 
    } 
 

 
    @Override 
 
    public long getItemId(int position) { 
 
     // TODO Auto-generated method stub 
 
     return position; 
 
    } 
 

 

 

 
    @Override 
 
    public View getView(int position, View convertView, ViewGroup parent) { 
 
     // TODO Auto-generated method stub 
 

 
     LayoutInflater inflater=activity.getLayoutInflater(); 
 

 
     if(convertView == null){ 
 

 
      convertView=inflater.inflate(R.layout.colm_row, null); 
 

 
      txt1=(TextView) convertView.findViewById(R.id.No_Part); 
 
      txt2=(TextView) convertView.findViewById(R.id.Part_Desc); 
 
      txt3=(TextView) convertView.findViewById(R.id.Spec1); 
 
      txt4=(TextView) convertView.findViewById(R.id.Spec2); 
 
      txt5=(TextView) convertView.findViewById(R.id.Sat); 
 
      txt6=(TextView) convertView.findViewById(R.id.Location); 
 
      txt7=(TextView) convertView.findViewById(R.id.Qty_Onh); 
 
     } 
 
     HashMap<String, String> map=list.get(position); 
 
     txt1.setText(map.get(COLUMN1)); 
 
     txt2.setText(map.get(COLUMN2)); 
 
     txt3.setText(map.get(COLUMN3)); 
 
     txt4.setText(map.get(COLUMN4)); 
 
     txt5.setText(map.get(COLUMN5)); 
 
     txt6.setText(map.get(COLUMN6)); 
 
     txt7.setText(map.get(COLUMN7)); 
 
     convertView.setTag(list.get(position)); 
 
     return convertView; 
 
    } 
 
}

には、ヘルプ

答えて

1

ためのおかげであなたのforループの外にこのコードを配置する必要があります。

ListViewAdapter adapter=new ListViewAdapter(this, list); 
listView.setAdapter(adapter); 

そして

ListViewAdapter adapter=new ListViewAdapter(this, list); 
      adapter.notifyDataSetChanged();listView.setAdapter(adapter); 
0

感謝mafujulループの内側からこのコードを削除し、私はListViewAdapaterこのように改訂され、わずかにあなたの提案を踏襲してきました:

if(convertView == null) { 
 
      convertView = inflater.inflate(R.layout.colm_row, null); 
 
     } 
 
     txt1=(TextView) convertView.findViewById(R.id.No_Part); 
 
     txt2=(TextView) convertView.findViewById(R.id.Part_Desc); 
 
     txt3=(TextView) convertView.findViewById(R.id.Spec1); 
 
     txt4=(TextView) convertView.findViewById(R.id.Spec2); 
 
     txt5=(TextView) convertView.findViewById(R.id.Sat); 
 
     txt6=(TextView) convertView.findViewById(R.id.Location); 
 
     txt7=(TextView) convertView.findViewById(R.id.Qty_Onh); 
 

 
     HashMap<String, String> map=list.get(position); 
 
     txt1.setText(map.get(COLUMN1)); 
 
     txt2.setText(map.get(COLUMN2)); 
 
     txt3.setText(map.get(COLUMN3)); 
 
     txt4.setText(map.get(COLUMN4)); 
 
     txt5.setText(map.get(COLUMN5)); 
 
     txt6.setText(map.get(COLUMN6)); 
 
     txt7.setText(map.get(COLUMN7)); 
 
     return convertView;
私の問題は解決され、tq

関連する問題