Java 在android的listview中将SQLite中的两列显示为相同的字符串
您好,我正在开发一个android,在其中我从数据库加载数据并在列表视图中显示它。 我的代码如下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
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。。。