第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

使用 ListView 顯示 SQLite 數(shù)據(jù)庫(kù)行的 ArrayList

使用 ListView 顯示 SQLite 數(shù)據(jù)庫(kù)行的 ArrayList

楊__羊羊 2023-09-06 16:13:52
我有一個(gè) SQLite 數(shù)據(jù)庫(kù),我想使用 ListView 顯示每個(gè) ROW/Campsite。DBHandler 方法返回 Campsites 的 ArrayList:public ArrayList<Campsite> getAllCampsites() {    SQLiteDatabase db = this.getReadableDatabase();    Cursor cursor = db.rawQuery("SELECT * FROM " + TABLE_CAMPSITES, null);    ArrayList<Campsite> campsites = new ArrayList<>();    Campsite campsite;    if (cursor.getCount() > 0) {        for (int i = 0; i < cursor.getCount(); i++) {            cursor.moveToNext();            campsite = new Campsite();            campsite.setName(cursor.getString(1));            campsite.setCity(cursor.getString(2));            campsite.setFeature(cursor.getString(3));            campsite.setFavorite(cursor.getString(4));            campsite.setRating(cursor.getInt(5));            campsite.setLatitude(cursor.getDouble(6));            campsite.setLongitude(cursor.getDouble(7));            campsites.add(campsite);        }    }    cursor.close();    db.close();    return campsites;}我有一個(gè)名為“瀏覽”的活動(dòng),它在布局文件中包含 ListView。我還有一個(gè) browser_row_layout ,它具有一行/露營(yíng)地的布局。因此,在 Browse.java 中,我需要?jiǎng)?chuàng)建適配器來(lái)顯示每個(gè)露營(yíng)地。注意:我僅在列表視圖中顯示 3 個(gè)特定列(名稱、城市、功能)因此,我有 Activity_browse 布局文件,其中包含實(shí)際的 ListView 元素和 browser_row_layout,它代表數(shù)據(jù)庫(kù)的 1 行,并且僅包含其中 3 列的 TextView。到目前為止我所擁有的:import android.os.Bundle;import android.widget.ListView;import androidx.appcompat.app.AppCompatActivity;import java.util.ArrayList;public class Browse extends AppCompatActivity {ListView lvCampsites;@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_browse);    lvCampsites= findViewById(R.id.lvCampsites);    DatabaseHandler db = new DatabaseHandler(this);    ArrayList<Campsite> campsites = db.getAllCampsites();}}TLDR:如何使用 ListView 創(chuàng)建一個(gè)適配器來(lái)顯示露營(yíng)地列表中的每個(gè)露營(yíng)地,其中包含數(shù)據(jù)庫(kù)的每一行。
查看完整描述

2 回答

?
慕尼黑的夜晚無(wú)繁華

TA貢獻(xiàn)1864條經(jīng)驗(yàn) 獲得超6個(gè)贊

創(chuàng)建一個(gè)擴(kuò)展 BaseAdapter 的自定義適配器類,然后實(shí)現(xiàn)方法,然后在 getView 方法中將布局 id 傳遞給視圖,以便您可以訪問(wèn)布局文件中的 textview。


public class CampsitesListAdapter extends BaseAdapter {


    private Context mContext;

    private ArrayList<Campsites> list;


    public CampsitesListAdapter(Context mContext , List<Campsites> countries) {

        this.mContext = mContext;

        this.list = countries;

    }


    @Override

    public int getCount() {

        return list.size();

    }


    @Override

    public Object getItem(int position) {

        return list.get(position);

    }


    @Override

    public long getItemId(int position) {

        return position;

    }


    @Override

    public View getView(int position, View convertView, ViewGroup parent) {


        View view = View.inflate(mContext, R.layout.campsite_layout , null );

        TextView name = (TextView) view.findViewById(R.id.nametxt);

        Textview city = (Textview) view.findViewById(R.id.citytxt);

        Textview feature = (Textview) view.findViewById(R.id.featuretxt);


        name.setText(list.get(position).getname());

        city.setText(list.get(position).getcity());

        feature.setText(list.get(position).getfeature());


        return view;

    }

 }

這是您的列表視圖活動(dòng)


import android.os.Bundle;

import android.widget.ListView;

import androidx.appcompat.app.AppCompatActivity;

import java.util.ArrayList;


public class Browse extends AppCompatActivity {


ListView lvCampsites;


@Override

protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_browse);


    lvCampsites= findViewById(R.id.lvCampsites);


    DatabaseHandler db = new DatabaseHandler(this);

    ArrayList<Campsite> campsites = db.getAllCampsites();


    //Instance of custom adapter 

    CampsitesListAdapter adapter = new CampsitesListAdapter(this ,   campsites);

   //Setting adapter to listview

   lvCampsites.setAdapter(adapter);

}

我希望這可以幫助你。


查看完整回答
反對(duì) 回復(fù) 2023-09-06
?
喵喔喔

TA貢獻(xiàn)1735條經(jīng)驗(yàn) 獲得超5個(gè)贊

您需要先移動(dòng)光標(biāo)。參考下面的代碼:


                         if (cursor!=null && cursor.getCount()> 0){

                            cursor.moveToFirst();

                            do{

                                Campsite campsite = new Campsite();

                                campsite.setName(cursor.getString(1));

                                campsite.setCity(cursor.getString(2));

                                campsite.setFeature(cursor.getString(3));

                                campsite.setFavorite(cursor.getString(4));

                                campsite.setRating(cursor.getInt(5));

                                campsite.setLatitude(cursor.getDouble(6));

                                campsite.setLongitude(cursor.getDouble(7));


                                campsites.add(campsite);


                            }while(cursor.moveToNext);

                        }


查看完整回答
反對(duì) 回復(fù) 2023-09-06
  • 2 回答
  • 0 關(guān)注
  • 129 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)