получить данные из списка в виде клика - PullRequest
0 голосов
/ 13 декабря 2011

Я хочу получить строку из списка. Нажмите, этот список заполнен с bbdd, я думаю, что этот код в порядке, но не работает.

       //Creamos la instancia de DataBaseHelper, un cursor y aplicamos el metodo getNombres al cursor y llamamos al metodo encargado de gestioanr ese cursor
        ayudabbdd = new DataBaseHelper(this);
        Cursor nombresC;     
        nombresC = (Cursor) ayudabbdd.getNombres();  
        nombresC.moveToFirst();
        startManagingCursor(nombresC);
        //Para crear un simpleCursorAdapter necesitamos
        //Contexto this
        //Layour donde se mostrara el resultado, generalmente un textview
        //Cursor 
        //Cual sera el campo que recibiremos de la BBDD
        //Donde tenemos que poner esa informacion, generalmente el ID correspondiente al        textvies del layour del segundo parametro
        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);
        listanombres =  (ListView) findViewById(android.R.id.list);
        listanombres.setOnItemClickListener(this);
}


       public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {

                String nombreSelec;
                nombreSelec = (String) listanombres.getItemAtPosition(arg2);

                Intent intent = new Intent(listatab.this, mostrarLugar.class);
                intent.putExtra("nombre", nombreSelec);
                startActivity(intent);


          }

Я делаю отладку и nombreSelecзначение android.database.sqlite.SQLiteCursor@41496db0

Я пытаюсь это

String nombreClicks = nombresC.getString((int) arg3);
        intent.putExtra("nombre",nombreClicks);
        startActivity(intent);

бит, это возвращает мне исключение

Ответы [ 3 ]

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

Попробуйте, и дайте мне знать, что произойдет, ..

public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {

    Cursor cursor = (Cursor) lugares.getItem(arg2);
    String nombreSelec = cursor.getString(cursor.getColumnIndex(DataBaseHelper.CNOMBRE));

    Intent intent = new Intent(listatab.this, mostrarLugar.class);
    intent.putExtra("nombre", nombreSelec);
    startActivity(intent);
    }

Посмотрите на этот хороший пример Первое приложение списка

0 голосов
/ 14 декабря 2011
  public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {

         Intent intent = new Intent(listatab.this, mostrarLugar.class);


        String nombreClicks= nombresC.getString(nombresC.getColumnIndex("nombre"));
        intent.putExtra("nombre",nombreClicks);
        startActivity(intent);


  }

Это решение

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

попробуй вот так

public class CheckData extends ListActivity  {     
  TextView selection;
  public int idToModify; 
  DataManipulator dm;
  List<String[]> list = new ArrayList<String[]>();
  List<String[]> names2 =null ;
  String[] stg1;
  protected void onCreate(Bundle savedInstanceState){
     super.onCreate(savedInstanceState);
     setContentView(R.layout.check);
     dm = new DataManipulator(this);
     names2 = dm.selectAll();
     stg1=new String[names2.size()]; 
     int x=0;
     String stg;
     for (String[] name : names2) {
            stg = name[1]+" – "+name[2]+ " – "+name[3]+" – "+name[4];
            stg1[x]=stg;
            x++;
     }
     ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,stg1);
     this.setListAdapter(adapter);
     selection=(TextView)findViewById(R.id.selection);
}      
public void onListItemClick(ListView parent, View v, int position, long id) {
     String nombreSelec = selection.setText(stg1[position]);
     Intent intent = new Intent(listatab.this, mostrarLugar.class);
     intent.putExtra("nombre", nombreSelec);
     startActivity(intent);
}
}

и проверьте это из этого ответа: https://stackoverflow.com/a/8431438/964741

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...