gpt4 book ai didi

android - 使用来自 Parse.com 数据库的数据填充一个充满 TextView 的表格

转载 作者:行者123 更新时间:2023-11-29 01:28:16 24 4
gpt4 key购买 nike

我在 Parse 中有一个包含 4 列的表(内置列除外)。
我想获取这 4 列并将这些数据排列在 TextViews 内的表格中。

我的应用程序中的每个表格行都需要包含不同的数据。如何创建此表并排列此表中的数据?

我已经非常了解如何创建表格。重要的是用 Parse.com 表中的数据填充表。

编辑#1:

不知道数据库有多少行,所以表要无穷无尽

最佳答案

假设您有一个这样定义的行布局:

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">

<TextView
android:id="@+id/item1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".25"/>

<TextView
android:id="@+id/item2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".25"/>

<TextView
android:id="@+id/item3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".25"/>

<TextView
android:id="@+id/item4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight=".25"/>

</LinearLayout>

在那之后,现在我将使用单个 RecyclerView 从您的数据库中扩充和填充该数据。由于代码中存在一些差距,它应该看起来像这样。

    public void doStuff() {
RecyclerView rv = findViewById();

TableAdapter ta = new TableAdapter();

query.findInBackground(new FindCallback() {
public void done(List<Data> content, ParseException pEx) {
ta.setData(content);
}
}
rv.setAdapter(ta);

}

public class TableAdapter extends RecyclerView.Adapter<RowHolder> {

List<Data> data = new ArrayList<>();

public void setData(List<Data> newData){
data.clear();
data.addAll(newData);
notifyDataSetChanged();
}

@Override
public RowHolder onCreateViewHolder(ViewGroup parent, int viewType) {
return new RowHolder(LayoutInflater.from(parent.getContext()).inflate(R.layout.tablerow, parent, false));
}

@Override
public void onBindViewHolder(RowHolder holder, int position) {
holder.bind(data.get(position));
}

@Override
public int getItemCount() {
return data.size();
}
}

public class RowHolder extends RecyclerView.ViewHolder {

TextView tv1, tv2, tv3, tv4;

public RowHolder(View itemView) {
super(itemView);

tv1 = (TextView) itemView.findViewById(R.id.item1);
tv2 = (TextView) itemView.findViewById(R.id.item2);
tv3 = (TextView) itemView.findViewById(R.id.item3);
tv4 = (TextView) itemView.findViewById(R.id.item4);
}

public void bind(Data d) {
tv1.setText(d.field1);
tv2.setText(d.field2);
tv3.setText(d.field3);
tv4.setText(d.field4);
}
}

class Data {
String field1, field2, field3, field4;
}

关于android - 使用来自 Parse.com 数据库的数据填充一个充满 TextView 的表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32647211/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com