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

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我想制作一個 recyclerview,將數(shù)據(jù)顯示到 SQLITE 數(shù)據(jù)庫中的新活動

我想制作一個 recyclerview,將數(shù)據(jù)顯示到 SQLITE 數(shù)據(jù)庫中的新活動

斯蒂芬大帝 2023-03-09 10:50:46
我正在做一個項(xiàng)目,我有一個包含 id、標(biāo)題、內(nèi)容的 sqlite 數(shù)據(jù)庫能夠從數(shù)據(jù)庫中讀取內(nèi)容。希望我的問題很清楚!謝謝。這是我的 DatabaseHelper 類DatabaseHelper.javapublic class DatabaseHelper extends SQLiteOpenHelper {public static final String DBNAME = "alQais.db";private Context context;private SQLiteDatabase sqLiteDatabase;public DatabaseHelper(Context mContext){    super(mContext, DBNAME, null, 1);    this.context = mContext;}@Overridepublic void onCreate(SQLiteDatabase db) {}@Overridepublic void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {}public void openDatabase(){    String dbPath = context.getDatabasePath(DBNAME).getPath();    if(sqLiteDatabase != null && sqLiteDatabase.isOpen()){        return;    }    sqLiteDatabase = SQLiteDatabase.openDatabase(dbPath, null,SQLiteDatabase.OPEN_READWRITE);}public void closeDatabase(){    if(sqLiteDatabase != null){        sqLiteDatabase.close();    }}public ArrayList getAllTitles(){    ArrayList arrayList = new ArrayList();    openDatabase();    Cursor cursor = sqLiteDatabase.rawQuery("select * from muallaqat", null);    cursor.moveToFirst();    while (!cursor.isAfterLast()){        arrayList.add(cursor.getString(cursor.getColumnIndex("title")));        cursor.moveToNext();    }    cursor.close();    closeDatabase();    return arrayList;}public String getMuallaqa(String title){    String muallaqat;    openDatabase();    Cursor cursor = sqLiteDatabase.rawQuery("select * from muallaqat where title like '" + title + "'", null);    cursor.moveToFirst();    muallaqat = cursor.getString(cursor.getColumnIndex("muallaqa"));    cursor.close();    closeDatabase();    return muallaqat;}}
查看完整描述

3 回答

?
慕森卡

TA貢獻(xiàn)1806條經(jīng)驗(yàn) 獲得超8個贊

供參考遵循步驟


1)例如為id、title、content創(chuàng)建setter和getter方法


public class settter 

 {


int id;

String name;

String content;


public int getId() {

    return id;

}


public void setId(int id) {

    this.id = id;

}


public String getName() {

    return name;

}


public void setName(String name) {

    this.name = name;

}


public String getContent() {

    return content;

}


public void setContent(String content) {

    this.content = content;

   }

 }

2)在xml mainactivity中添加recyclerview


<androidx.recyclerview.widget.RecyclerView

    android:id="@+id/recycler_view"

    android:layout_width="match_parent"

    android:layout_height="wrap_content"

     />

3)在 MainActivity 中刪除所有 listview 相關(guān)代碼并添加下面給出的代碼


 RecyclerView recyclerView=(RecyclerView)findViewById(R.id.recycler_view2);

    recyclerView.setLayoutManager(new LinearLayoutManager(this));


        //make array list object with setter class

        ArrayList<setter> name =db.getAllTitles();


       //new adapter(ArrayList<setter>, context) ,so initiate adapter

        recyclerView.setAdapter(new adapter(name,getApplicationContext()));


        //draw line 

        recyclerView.addItemDecoration(new 

     DividerItemDecoration(recyclerView.getContext(), DividerItemDecoration.VERTICAL));

4)創(chuàng)建布局文件來保存你的數(shù)據(jù)并在recyclerview中膨脹


名稱:recycler_content_holder.xml


<LinearLayout

xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"

android:layout_height="50dp"

android:orientation="vertical">

<LinearLayout

    android:layout_width="match_parent"

    android:layout_height="50dp"

    android:id="@+id/recycler_content_holder"

    >

    <TextView

        android:layout_width="50dp"

        android:layout_height="match_parent"

        android:gravity="center"

        android:id="@+id/tv_id"/>

    <TextView

        android:layout_width="100dp"

        android:layout_height="match_parent"

        android:layout_marginLeft="30dp"

        android:id="@+id/tv_title"

        android:gravity="center"/>


    <TextView

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        android:layout_marginLeft="30dp"

        android:gravity="center|right"

        android:id="@+id/tv_content"/>

</LinearLayout>

5)創(chuàng)建適配器類


public class adapter extends RecyclerView.Adapter<adapter.AdapterViewHolder>

{


ArrayList<settter> data;

Context context;

public adapter(ArrayList<settter> data,Context context)

{

    this.data=data;

    this.context=context;

}


@NonNull

@Override

public AdapterViewHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i)

{

    LayoutInflater layoutInflater=LayoutInflater.from(viewGroup.getContext());

    View view=layoutInflater.inflate(R.recycler_content_holder,viewGroup,false);

    return new ProgramingViewHolder(view);



}


@Override

public void onBindViewHolder(@NonNull ViewHolder viewHolder, final int i)

{


    viewHolder.id.setText(""+data.get(i).getId());

    viewHolder.title.setText(data.get(i).getTitle());

    viewHolder.content.setText(data.get(i).getContent());


    viewHolder.linearLayout.setOnClickListener(new View.OnClickListener()

    {

        @Override

        public void onClick(View v)

        {


            String title = String.valueOf(data.get(i).getTitle());

            Intent intent = new Intent(context, Main2Activity.class);

            intent.putExtra("title", title);

            startActivity(intent);


        }

    });




}


@Override

public int getItemCount() {

    return data.size();

}


//class programingViewHolder

public class AdapterViewHolder extends RecyclerView.ViewHolder

{

    TextView id,title,content;

    LinearLayout linearLayout;


    public AdapterViewHolder(@NonNull View itemView) {

        super(itemView);

        id=(TextView)itemView.findViewById(R.id.tv_id);

        title=(TextView)itemView.findViewById(R.id.tv_mtrNo);

        content=(TextView)itemView.findViewById(R.id.tv_nm);

        linearLayout=(LinearLayout)itemView.findViewById(R.id.recycler_content_holder);


    }



  }

 }

6) DatabaseHelper 中的更改方法


public ArrayList<setter> getAllTitles(){

    ArrayList<setter> arrayList = new ArrayList();

    openDatabase();

    setter set=new setter();

    Cursor cursor = sqLiteDatabase.rawQuery("select * from muallaqat", null);

    cursor.moveToFirst();

    while (!cursor.isAfterLast()){

        set.setTitle(cursor.getString(cursor.getColumnIndex("title")));

        //add object to arralist

        arrayList.add(set);

        cursor.moveToNext();

    }

    cursor.close();

    closeDatabase();

    return arrayList;

}

只需復(fù)制粘貼即可理解,希望對您有所幫助。


查看完整回答
反對 回復(fù) 2023-03-09
?
12345678_0001

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

如果我理解正確的話,您想對來自 SQLite 數(shù)據(jù)庫的數(shù)據(jù)使用 recyclerview 嗎?當(dāng)您單擊某個項(xiàng)目并使用該項(xiàng)目的數(shù)據(jù)填充它時,您想打開一個新活動嗎?看看這篇文章

RecyclerView 與 Cursor Adapter 的實(shí)現(xiàn)


查看完整回答
反對 回復(fù) 2023-03-09
?
素胚勾勒不出你

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超9個贊

只需做一件事,從數(shù)據(jù)庫中獲取 id 和標(biāo)題,并在 recyclerview 中顯示標(biāo)題。并且當(dāng) onItemClick onItemClick on recyclerview 將特定位置的 id 傳遞給下一個活動。

并在下一個活動中獲取從上一個活動傳遞的 id。

并從帶有 id 的數(shù)據(jù)中獲取數(shù)據(jù)。您將獲得所有數(shù)據(jù)。

并將獲取的數(shù)據(jù)顯示給活動。



查看完整回答
反對 回復(fù) 2023-03-09
  • 3 回答
  • 0 關(guān)注
  • 170 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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