大家好我在Android开发中遇到了一个问题。我还在开发一个Android应用程序。所以我遇到了android listview的问题。
我的问题是,我想在一个列表视图中显示两个数据项。 像这样:
Recipt No :Date
001 :2017/11/30
所以现在我使用Arrayadapter加载一个数据元素。 但现在我想在列表视图中加载两个数据
下面我把我的java代码加载到列表视图中的一个数据。
public void showList()
{
String[] ides = new String[de1.size()];
for (int i = 0; i < de1.size(); i++) {
ides[i] = de1.get(i).getId().toString();
}
ArrayAdapter adapter = new ArrayAdapter<String>(depositDetails.this,R.layout.depositlists,R.id.b,ides);
listViewlist.setAdapter(adapter);
}
xml代码部分
<LinearLayout
android:layout_width="500dp"
android:layout_height="67dp"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:orientation="horizontal"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.060000002">
<android.support.constraint.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/b"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginEnd="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:ellipsize="end"
android:gravity="center"
android:maxLength="15"
android:maxLines="2"
android:text="Deposit Index"
android:textColor="#c60a0a"
android:textSize="18sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.037"
app:layout_constraintLeft_toRightOf="@+id/imageViewProduct"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.0" />
<TextView
android:id="@+id/Status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:layout_marginTop="0dp"
android:text="TextView"
android:textColor="@color/ButtonCol"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintHorizontal_bias="0.03"
app:layout_constraintLeft_toRightOf="@+id/imageViewProduct"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/b"
app:layout_constraintVertical_bias="0.555" />
</android.support.constraint.ConstraintLayout>
</LinearLayout>
答案 0 :(得分:1)
使用自定义适配器
public class CustomAdapter extends ArrayAdapter<User> {
Context context;
ArrayList<User> userArrayList;
public CustomAdapter(Context context,ArrayList<User> userArrayList) {
super(context, R.layout.depositlists, userArrayList);
this.context=context;
this.userArrayList=userArrayList;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
convertView = LayoutInflater.from(getContext()).inflate(R.layout.depositlists, parent, false);
}
User user = getItem(position);
TextView b = (TextView) convertView.findViewById(R.id.b);
TextView Status = (TextView) convertView.findViewById(R.id.Status);
b.setText(user.getReciptNo());
Status.setText(user.getDate());
return convertView;
}
}
Replace showList method
public void showList()
{
ArrayList<User> users = new ArrayList<>();
for (int i = 0; i < de1.size(); i++) {
users.add(new User(i,de1.get(i).getId().toString()));
}
CustomAdapter adapter = new CustomAdapter(depositDetails.this,users);
listViewlist.setAdapter(adapter);
}
Add User Class
public class User {
String ReciptNo;
String Date;
public User(String reciptNo, String date) {
ReciptNo = reciptNo;
Date = date;
}
public String getReciptNo() {
return ReciptNo;
}
public void setReciptNo(String reciptNo) {
ReciptNo = reciptNo;
}
public String getDate() {
return Date;
}
public void setDate(String date) {
Date = date;
}
}