Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在java builder中在消息旁边添加按钮_Java_Android_Sqlite_Buffer_Builder - Fatal编程技术网

如何在java builder中在消息旁边添加按钮

如何在java builder中在消息旁边添加按钮,java,android,sqlite,buffer,builder,Java,Android,Sqlite,Buffer,Builder,对Java编程来说有点陌生,我正在尝试为android创建一个本地应用程序。 我的问题是,当我从SQLite DB中选择一些内容时,我想在输出旁边添加一个带有eventlistener的按钮 if(view==btnViewAll) { Cursor c=db.rawQuery("SELECT * FROM catalogue", null); if(c.getCount()==0) { showMessa

对Java编程来说有点陌生,我正在尝试为android创建一个本地应用程序。 我的问题是,当我从SQLite DB中选择一些内容时,我想在输出旁边添加一个带有eventlistener的按钮

    if(view==btnViewAll)
     {
        Cursor c=db.rawQuery("SELECT * FROM catalogue", null);
        if(c.getCount()==0)
        {
            showMessage("Error", "No records found");
            return;
        }
        StringBuffer buffer=new StringBuffer();
        while(c.moveToNext())
        {
            buffer.append("Product name: "+c.getString(1)+"\n");
            buffer.append("Description: "+c.getString(2)+"\n");
            buffer.append("Price: "+c.getString(3)+"\n");
            buffer.append("Image: "+c.getString(4)+"\n\n");

        }
        showMessage("All Products", buffer.toString());
     }//end of btnViewAll
然后我要说的是-

public void showMessage(String title, String message) {
    Builder builder = new Builder(this);
    builder.setCancelable(true);
    builder.setTitle(title);
    builder.setMessage(message);
    builder.show();
}//end of Message!
这些都会在我的手机上弹出,在我的数据库中有一个记录列表——但我不知道如何为其中的每一行添加一个按钮


谢谢你的帮助

参考您最近的评论,您需要的不是显示完整字符串,而是创建一个自定义列表并通过数据库填充它。 以下是所需的步骤:

1创建具有姓名/电话号码的对象用户

2解析数据库时,返回一个列表

3创建扩展ArrayAdapter的CustomAdapter

4更改您的xml,以便只有一个listView

5在您的活动中,调用AsyncTask以获取您的DB,就像您可能已经做的那样,然后使用列表通过适配器填充ListView

进一步提示:创建一个layout row.xml,它将在适配器中膨胀,在这里您将拥有显示有关您的用户名/电话n°+按钮的信息所需的小部件。在适配器的getView中,膨胀row.xml,用数据更新值,并在那里设置按钮的行为

这是一个很棒的教程,您可以在其中找到所有细节:


祝你好运

听起来您想在不同的行中显示数据库所有记录的列表,每行包含文本+一个按钮,对吗?完全正确例如,用户1有一个名字和电话号码,旁边还有一个按钮。用户2So也不可能通过生成器添加按钮吗?因为我喜欢我现在的生活方式——尽管我能看到你说的话的好处!实际上,您拥有的是一个包含所有信息的大字符串,+与\n的一点排列,因此在打印完整字符串时,在其中包含按钮是没有意义的,而不是说多次打印文本视图+按钮。