我有一个带有5条记录的sqlite,我想用这个bbdd中的光标填充列表视图,但只创建一个带有白色地方的列表视图,bddd查询结果的任何地方,没有内容。我认为是textview颜色,但没有。任何人都可以帮助我?
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listatab);
//Creamos la instancia de DataBaseHelper, un cursor y aplicamos el metodo getNombres al cursor.
ayudabbdd = new DataBaseHelper(this);
Cursor nombresC;
nombresC = (Cursor) ayudabbdd.getNombres();
nombresC.moveToFirst();
startManagingCursor(nombresC);
String[] datosRecibidos = new String[] {"nombre"};
int[] layoutDondeLoPongo = new int[] { R.layout.entrada_lista};
//Mientras el cursor no este vacio rellenamos la lista con el adaptador, que nos sirve para conectar unos datos con el listview.
if(nombresC!=null){
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, R.layout.listatab, nombresC,datosRecibidos, layoutDondeLoPongo);
this.setListAdapter(adapter);
this.getListView();
}
Listatab.xml
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<ListView
android:id="@android:id/android:list"
android:layout_width="fill_parent"
android:layout_height="wrap_content" />
和entradalista.xml
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:id="@+id/nombre"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="28dip"
android:textColor="#000000"/>
答案 0 :(得分:0)
试试这个,
修改:: 强>
super.onCreate(savedInstanceState);
setContentView(R.layout.listatab);
//Creamos la instancia de DataBaseHelper, un cursor y aplicamos el metodo getNombres al cursor.
ayudabbdd = new DataBaseHelper(this);
Cursor nombresC;
nombresC = (Cursor) ayudabbdd.getNombres();
nombresC.moveToFirst();
startManagingCursor(nombresC);
getListView();
ListAdapter adapter = new SimpleCursorAdapter(this,R.layout.listatab,nombresC,
new String[] {"nombre"},
new int[] { R.id.nombre});
setListAdapter(adapter);
答案 1 :(得分:0)
改变这个:
int[] layoutDondeLoPongo = new int[] { R.layout.entrada_lista};
String[] datosRecibidos = new String[] {"nombre"};
为:
int[] layoutDondeLoPongo = new int[] { R.id.nombre };
String[] datosRecibidos = new String[] {"son"};
答案 2 :(得分:0)
我找到了解决方案:
listatab.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<ListView
android:id="@android:id/list"
android:cacheColorHint="#666666"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
entrada_lista.xml
<?xml version="1.0" encoding="utf-8"?>
<!-- row.xml -->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:paddingTop="4dip"
android:textAppearance="?android:attr/textAppearanceLarge"
android:paddingBottom="6dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView android:id="@+id/nombreLugar"
android:textColor="#4B89E0"
android:layout_width="130dip"
android:layout_height="40dip"
android:textSize = "15dip"
/>
</LinearLayout>
</LinearLayout>
和活动
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.listatab);
//Creamos la instancia de DataBaseHelper, un cursor y aplicamos el metodo getNombres al cursor.
ayudabbdd = new DataBaseHelper(this);
Cursor nombresC;
nombresC = (Cursor) ayudabbdd.getNombres();
nombresC.moveToFirst();
startManagingCursor(nombresC);
String[] from = new String[]{DataBaseHelper.CNOMBRE};
int[] to = new int[]{R.id.nombreLugar};
SimpleCursorAdapter lugares =
new SimpleCursorAdapter(this, R.layout.entrada_lista, nombresC, from, to);
setListAdapter(lugares);
}