xamarin.android - 如何手动添加额外的文本视图而不将其添加到 axml
问题描述
我试图从应用程序的 sqlite 数据库中一次提取一个数据,对于从 sqlite 表返回的每个数据,我需要将数据输出到 GUI 中,并为每个返回结果创建每个 textview 否则将抛出消息不成立。我正在使用 xamarin 本机 android。
我如何做到这一点,我是 xamarin 的新手?
例如,我有一个文本编辑器供用户输入值数据库表值(1,2,3,4),如果用户输入 1,则文本编辑器下方将有一个文本视图,其中创建值 1 如果用户继续输入 2,则另一个文本视图在下面(值为 1 的文本视图)将创建为值为 2
EG 下面:1)Edittext 用于用户输入
2)当用户在编辑框中输入值1时,它与数据库中的值匹配并返回值1,如下所示:
3)当用户在编辑框中输入另一个值2时,它与数据库中的值匹配并返回值2,如下所示:
目前,我的代码如下:
DB.cs(在我可以访问的 android 文件夹中创建 sqlite 数据库,而不是默认的应用程序文件夹)
namespace TestApp
{
public static class Db
{
public static string DBFile = testPath.Combine(Android.OS.Environment.DirectoryDownloads, "test.db"); //for tmp use
public static List<Model.Test> TestList = new List<Model.Test>();
public static void InitializeLocalDB()
{
if (!File.Exists(Db.DBFile))
{
using (var connection = new SQLiteConnection(Db.DBFile))
{
connection.DropTable<Model.Test>();
connection.CreateTable<Model.Test>();
}
}
}
}
}
MainActivity.cs
namespace TestApp
{
[Activity(Label = "@string/app_name", Theme = "@style/AppTheme", MainLauncher = true)]
public class MainActivity : AppCompatActivity
{
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
// Set our view from the "main" layout resource
SetContentView(Resource.Layout.activity_main);
Db.InitializeLocalDB();
}
一旦我能够在下载文件夹中创建数据库,我将提取 db 文件并使用 compactview 手动添加数据以测试应用程序。
解决方案
推荐阅读
- laravel - 将 css/js 文件从一个组件推送到另一个组件
- flutter - Flutter:消费者不重建小部件的多提供者
- android - Flutter - 从底部导航栏打开底部工作表
- javascript - 如何在javascript中对带有空格的字符串进行排序?
- mysql - MYSQL-根据行中的日期将数据从一个表传输到另一个表
- flutter - 在颤动中,如何在不使用任何插件的情况下强制设备关闭相机?
- java - 当按下 ENTER 键时,如何防止 TextFieldTableCell 进入编辑模式?
- json - json 解析 - 仅在条件下获取值
- postgresql - 如何在 Postgresql pg_stat_activity 中找到 ClientRead wait_event 的原因?
- php - 根据类别和用户角色更改 Woocommerce 可变产品价格不起作用