Это моя похвала для адаптера
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/fix_container"
>
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="4dp"
android:textSize="15sp"
android:textStyle="bold"
android:text="1"
android:textColor="@color/black"/>
<TextView
android:id="@+id/tv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="15sp"
android:textColor="@color/black"
android:layout_toRightOf="@id/tv1"
android:layout_marginTop="4dp"
android:textStyle="bold"
android:layout_marginLeft="10dp"
android:text="1"
android:layout_toEndOf="@id/tv1"
android:layout_marginStart="10dp" />
<TextView
android:id="@+id/tv3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="@color/black"
android:textSize="15sp"
android:layout_toRightOf="@id/tv2"
android:layout_marginTop="4dp"
android:layout_marginLeft="10dp"
android:layout_toEndOf="@id/tv2"
android:text="1"
android:layout_marginStart="10dp" />
CustomListAdapter.java
public class CustomListAdapter extends BaseAdapter{
private LayoutInflater layoutInflater;
private Production_Dispatch_Res_DTO rem_res_dto;
List<String> eff_list = new ArrayList<String>();
String[] eff_list_split;
public CustomListAdapter(Context context, Production_Dispatch_Res_DTO res,
List<String> eff_list) {
this.rem_res_dto = res;
layoutInflater = LayoutInflater.from(context);
this.eff_list = eff_list;
}
@Override
public int getCount() {
return eff_list.size();
}
@Override
public Object getItem(int position) {
return eff_list.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
try{
ViewHolder holder;
if(convertView == null){
convertView = layoutInflater.inflate(R.layout.lists,null);
holder = new ViewHolder();
holder.tv1 = (TextView) convertView.findViewById(R.id.tv1);
holder.tv2 = (TextView) convertView.findViewById(R.id.tv2);
holder.tv3 = (TextView) convertView.findViewById(R.id.tv3);
convertView.setTag(holder);
}else {
holder = (ViewHolder) convertView.getTag();
}
eff_list_split= eff_list.get(position).split(",");
int eff_list_split_size = eff_list_split.length;
switch (eff_list_split_size){
case 1:
if(eff_list_split[0].equals("-1")){
holder.tv1.setText("");
}
else
holder.tv1.setText(eff_list_split[0]);
break;
case 2:
if(eff_list_split[0].equals("-1"))
holder.tv1.setText("");
else
holder.tv1.setText(eff_list_split[0]);
if(eff_list_split[1].equals("-1"))
holder.tv2.setText("");
else
holder.tv2.setText(eff_list_split[1]);
break;
case 3:
if(eff_list_split[0].equals("-1"))
holder.tv1.setText("");
else
holder.tv1.setText(eff_list_split[0]);
if(eff_list_split[1].equals("-1"))
holder.tv2.setText("");
else
holder.tv2.setText(eff_list_split[1]);
if(eff_list_split[2].equals("-1"))
holder.tv3.setText("");
else
holder.tv3.setText(eff_list_split[2]);
break;
}
}catch (Exception e){
Log.d(VilanConstants.TAG,"/Excp @listAdp"+ e.toString());
}
return convertView;
}
public class ViewHolder{
public TextView tv1;
public TextView tv2;
public TextView tv3;
}
}
Я взял список в макете, подобном этому
<ListView
android:id="@+id/product_list_details"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:dividerHeight="3dp"
android:layout_marginTop="10dp"
android:layout_below="@+id/card_view_dispatch"/>
При запускеэто идет правильно.В то время как прокрутка данных списка в текстовых представлениях меняется каждый раз, когда я прокручиваю.
Я пробовал решения в stackoverflow, на которые ранее был дан ответ.Но они не будут работать для меня.
Любая помощь будет оценена.
Я новичок в Android.
Спасибо.