首页 > 解决方案 > 如何手动添加额外的文本视图而不将其添加到 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 手动添加数据以测试应用程序。

标签: xamarin.androidvisual-studio-2017

解决方案


推荐阅读