пустой список из sqlite-курсора - PullRequest
0 голосов
/ 08 декабря 2011

У меня есть sqlite с 5 записями, и я хочу заполнить представление списка курсором из этого 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"/>

Ответы [ 3 ]

0 голосов
/ 08 декабря 2011

Изменить это:

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"};
0 голосов
/ 09 декабря 2011

Я нашел решение:

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);

  }
0 голосов
/ 08 декабря 2011

Попробуйте,

РЕДАКТИРОВАТЬ ::

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);
...