簡體   English   中英

具有2個TextViews的ListView

[英]ListView with 2 TextViews

我正在嘗試使用2個Textviews為每個項目發布特定消息,但是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();
    }

如何使它填充所有物品?

以下內容可能對您有幫助:

  • 您需要使Custom Adapter擴展ArrayAdapterBaseAdapter才能實現您的觀點。
  • 准備與您的要求相同的布局,即使用2個TextViews和一個ImageView
  • 並且,在getView方法中,根據您的要求填充數據。

可能會幫助您。

希望有幫助!!!

您需要使用一個自定義視圖/布局創建一個自定義ArrayAdapter,如果您的案例包含兩個textView,您可以看到我的舊帖子,其中包含用於創建一個自定義適配器的代碼。

告訴我我是否對您有幫助,並提供良好的編程!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM