我正在尝试制作一个应用程序,当用户单击相应的列表视图项时,该应用程序以特定布局显示大量文本和图像。由于我想要单独的“章节”的特定 .xml 布局,我只想将片段的布局更改为相应的章节。
谷歌搜索告诉我我可以用片段来做到这一点,但据我所知,我需要为我想要实现的每一章单独的片段类和 .xml 布局。有 2 或 3 章,这可以完成,但随着更多的章节,我想,只保留两个片段(一个带有列表视图,一个带有章节文本)不是更简单,而是动态更改布局如果用户单击列表视图中的项目,则第二个片段。
这可以用这样的代码来完成吗(只是大声思考)?
Int[] layouts = {
{R.layout.chapter1, R.layout.chapter2, R.layout.chapter3}
};
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
index = intent.getIntent("index", 0);
return inflater.inflate(layouts[index], container, false);
}
Run Code Online (Sandbox Code Playgroud)
还是有另一种方法来实现这一目标?
我想从我创建的数据库中获取一个随机行,但我无法弄清楚如何做到这一点.
我在StackOverflow上找到了几个问题和答案,我说应该使用它:
Cursor cursor = this.db.query("mainTable Order BY RANDOM() LIMIT 1",
new String[] { "*" }, null, null, null, null, null);
Run Code Online (Sandbox Code Playgroud)
但是,我认为我有某种其他数据库,因为它返回错误,不知道方法'查询'.
这是我使用的数据库代码:
package com.example.database;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteOpenHelper;
import android.util.Log;
public class DBAdapter{
private static final String TAG = "DBAdapter";
public static final String KEY_ROWID = "_id";
public static final int COL_ROWID = 0;
public static final String KEY_PIC = "picture";
public static final String KEY_ANS = "answer";
public static final int COL_PIC …Run Code Online (Sandbox Code Playgroud)