0

我正在尝试使用 2 个 Textview 为每个项目发布一条特定消息,但是 ListView 接受 1 个适配器并显示该适配器提供的数据

当前视图

屏幕截图显示已从数据库中检索数据并将其放入 de ListView 中,仅缺少小文本数据。

代码:

public class ReservationsActivity extends AppCompatActivity {    

List<String> subTextList = new ArrayList<>();
List<String> titleList = new ArrayList<>();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_reservations);
    listReservations = (ListView)
    findViewById(R.id.listReservationsView);}

public void getReservations() {
        subTextList = new ArrayList<>();
        titleList = new ArrayList<>();
        titleAdapter = new ArrayAdapter<>(this, R.layout.row, R.id.title, titleList);
        subTextAdapter = new ArrayAdapter<>(this,R.layout.row,R.id.subText, subTextList);
        listReservations.setAdapter(subTextAdapter);
        listReservations.setAdapter(titleAdapter);

        AsyncTask<Void, Void, String> task = new AsyncTask<Void, Void, String>() {
            @Override
            protected String doInBackground(Void... params) {
                SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(ReservationsActivity.this);
                String accessToken = prefs.getString("accessToken", null);
                String web_adres = getString(R.string.web_adres);
                String ip_adres = getString(R.string.ip_adres);
                Ion.with(ReservationsActivity.this)
                        .load(web_adres + "/reservations?accessToken=" + accessToken)
                        .proxy(ip_adres, 8080)
                        .asJsonArray()
                        .setCallback(new FutureCallback<JsonArray>() {
                            @Override
                            public void onCompleted(Exception e, JsonArray result) {

                                jsonArray = result;
                                for (int i = 0; i < result.size(); i++) {
                                    JsonObject jsonObject = result.get(i).getAsJsonObject();
                                    JsonObject date = jsonObject.get("date").getAsJsonObject();
                                    JsonObject time = jsonObject.get("time").getAsJsonObject();
                                    String title = date.get("dayOfMonth").toString() + "/"
                                            + date.get("monthValue").toString() + "/"
                                            + date.get("year").toString();
                                    String subtext;
                                    if (time.get("id").getAsInt() == 1) {
                                        subtext = getString(R.string.morning);
                                        //imageInt = R.drawable.parking_morning;
                                    } else if (time.get("id").getAsInt() == 2) {
                                        subtext = getString(R.string.afternoon);
                                        //imageInt = R.drawable.parking_afternoon;
                                    } else if (time.get("id").getAsInt() == 3) {
                                        subtext = getString(R.string.day);
                                        //imageInt = R.drawable.parking_fullday;
                                    } else
                                        subtext = getString(R.string.day);


                                    titleAdapter.add(title);
                                    subTextAdapter.add(subtext);
                                    //TODO set Image per item
                                    //image.setImageResource(imageInt);
                                    titleAdapter.notifyDataSetChanged();
                                    subTextAdapter.notifyDataSetChanged();
                                }

                            }
                        });
                return null;
            }
        };
        task.execute();
    }

如何使它填充所有项目?

4

2 回答 2

0

以下可能对您有所帮助:

  • 您需要扩展自定义适配器ArrayAdapterBaseAdapter以实现您的观点。
  • 准备与您的要求相同的布局,即使用 2TextViewsImageView.
  • 并且,在该getView方法中,根据您的要求填充数据。

可能会在此过程中对您有所帮助。

希望有帮助!!!

于 2015-09-29T11:49:37.077 回答
0

您需要创建一个带有自定义视图/布局的自定义 ArrayAdapter,在您的情况下包含两个 textView,您可以查看我的旧帖子,其中包含用于创建自定义适配器的代码。

告诉我,如果我帮助了你和良好的编程!

于 2015-09-29T14:09:48.753 回答