Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.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 在android的listview中将SQLite中的两列显示为相同的字符串_Java_Android_Sqlite_Android Layout_Android Manifest - Fatal编程技术网

Java 在android的listview中将SQLite中的两列显示为相同的字符串

Java 在android的listview中将SQLite中的两列显示为相同的字符串,java,android,sqlite,android-layout,android-manifest,Java,Android,Sqlite,Android Layout,Android Manifest,您好,我正在开发一个android,在其中我从数据库加载数据并在列表视图中显示它。 我的代码如下 public class rel extends ListActivity { @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.refill); //Creating an object

您好,我正在开发一个android,在其中我从数据库加载数据并在列表视图中显示它。 我的代码如下

public class rel extends ListActivity {
@Override
public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.refill);
    //Creating an object called mydbhelper
    Dbms mydbhelper = new Dbms(this);
    //Loading the database in writable format
    SQLiteDatabase db=mydbhelper.getWritableDatabase();
    String[] id= new String[]{"_id","medicine","hs"};
    //Cursor
    Cursor c = db.query("medicines",id,null,null,null, null,null);
    startManagingCursor(c);
    String[] from = new String[]{"medicine"};
    int[] to = new int[] { R.id.textlist1};
     // Now creating an array adapter and set it to display using my row
    SimpleCursorAdapter notes =new SimpleCursorAdapter(this, R.layout.notes_row, c, from, to);
    setListAdapter(notes);



}
我想要实现的是将列表视图显示为“Medicine hs”,其中Medicine来自数据库的一列,hs来自另一列。例如 XYZ-HS1 ABC-HS2 作为listview内容

如何做到这一点? 现在我只能得到药

请提出你的建议


}

我想说的是,替换这个:

    String[] from = new String[]{"medicine"};
    int[] to = new int[] { R.id.textlist1};
为此:

    String[] from = new String[]{"medicine", "medicine-hs"};
    int[] to = new int[] { R.id.textlist1, R.id.textlist2};
当然,您需要在布局中使用R.id.textlist2


编辑:恢复到上一个版本,解决了问题。

您可以执行DBHelper类的
rawQuery()
方法,并使用SQL组合如下字段:

SELECT medicine + "-" + hs AS medicineHs FROM medicines ...
所以字符串数组应该是

String[] from = new String[]{"medicineHs"};

如果您需要进一步的澄清,请让我知道。嗨,这里的medicine和hs来自数据库的不同列。我怎样才能把它们编成一个字符串呢?杰克发现了。谢谢你的帮助。只需要像您所说的那样添加另一个文本框,并且需要重新定义XML布局以获得它。谢谢:-)这会给出一个错误,因为数据库中不存在这样的字段。在尝试显示您的智能之前,最好先清楚地阅读问题并了解内部工作方式。哇,这是一个优雅的解决方案,但它没有选择给出错误的“\u id”列。事实上,我是SQL新手,所以可能会面临问题:-)哦,对了。所以选择应该是:选择_id,medicine+“-”+hs作为medicineHs FROM medicines。。。