Iam尝试在Fragment中显示来自Web服务的一些数据,为此我需要使用自定义适配器,因为我使用pojo类来设置和获取数据。
我是Android新手,我知道自定义适配器活动,但我需要片段。
我的要求是显示单项xml文件singleitem.xml
<TextView
android:layout_width="match_parent"
android:id="@+id/txt1"
android:textSize="30sp"
android:gravity="center"
android:text="ine"
android:layout_height="wrap_content" />
<TextView
android:layout_width="match_parent"
android:id="@+id/txt2"
android:textSize="30sp"
android:gravity="center"
android:text="ine"
android:layout_height="wrap_content" />
<TextView
android:layout_width="match_parent"
android:id="@+id/txt3"
android:textSize="30sp"
android:gravity="center"
android:text="ine"
android:layout_height="wrap_content" />
<TextView
android:layout_width="match_parent"
android:id="@+id/txt4"
android:textSize="30sp"
android:gravity="center"
android:text="ine"
android:layout_height="wrap_content" />
我想显示一些包含listview行中4个不同字段的数据。
我希望自定义适配器将setAdpater()添加到我的Listview。
是否有任何程序将自定义适配器添加到Fragment或使用数组适配器可以使用pojo class来分配值。引用我。
这是我在Activity中使用的自定义适配器类 任何人都可以建议适配器类的可能更改
public class EnrollmentAdapter extends BaseAdapter {
MainActivity activity;
ArrayList<EnrollmentData> data;
LayoutInflater inflater;
public EnrollmentAdapter(MainActivity activity,ArrayList<EnrollmentData> data)
{
inflater = LayoutInflater.from(activity);
this.data = data;
}
@Override
public int getCount() {
return data.size();
}
@Override
public Object getItem(int i) {
return null;
}
@Override
public long getItemId(int i) {
return 0;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
view = inflater.inflate(R.layout.layout_enrollmentsingleitem,null);
TextView tv1 = (TextView)view.findViewById(R.id.txt1);
TextView tv2 = (TextView)view.findViewById(R.id.txt2);
TextView tv3 = (TextView)view.findViewById(R.id.txt3);
TextView tv4 = (TextView)view.findViewById(R.id.txt4);
tv1.setText(data.get(i).getReg_num());
tv2.setText(data.get(i).getW_list_on());
tv3.setText(data.get(i).getW_list_priority());
tv4.setText(data.get(i).getElements_to_complete());
return view;
}
答案 0 :(得分:0)
我可以通过使用数组适配器来解决我的上述问题也符合我的要求
public class CourseCompleteAdapter extends ArrayAdapter<CourseCompletedInnerData> {
private Context context;
int layout;
ArrayList<CourseCompletedInnerData> data;
public CourseCompleteAdapter(Context context, int layout, ArrayList<CourseCompletedInnerData> data) {
super(context, layout,data);
this.data = data;
this.layout = layout;
this.context =context;
}
@NonNull
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater inflater = (LayoutInflater) context.
getSystemService(Context.LAYOUT_INFLATER_SERVICE);
convertView = inflater.inflate(layout, parent, false);
}
TextView tvScore = (TextView)convertView.findViewById(R.id.txtcoursesinnerscore);
TextView tvActionstatus = (TextView)convertView.findViewById(R.id.txtcoursesinneractionstatus);
tvScore.setText(data.get(position).getScore());
tvActionstatus.setText(data.get(position).getAction_status());
return convertView;
}
}