2014-01-21 1 views
-1

это код, чтобы получить данные из базы данных SQLite и отображать его на GridView ....не может выбрать строку на экране сетки при нажатии?

однако я пытаюсь получить выбранные элементы «весь ряд», но я не имею никакого успеха

protected void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    SearchV = (SearchView) findViewById(R.id.searchView1); 

    data = (GridView) findViewById(R.id.gridView1); 
    List<String> Ldata = new ArrayList<String>(); 
    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(getApplicationContext(),android.R.layout.simple_spinner_item,Ldata); 
    dataAdapter.setDropDownViewResource(R.layout.activity_main); 
    try 
    { 
     db = openOrCreateDatabase("mydb",MODE_PRIVATE,null); 
     Cursor c = db.rawQuery("select * from Names", null); 
     if (c != null) 
     { 
     if (c.moveToFirst()) 
     { 
      do 
      { 
       String id = c.getString(c.getColumnIndex("id_num")); 
       String fname = c.getString(c.getColumnIndex("fname")); 
       String mname = c.getString(c.getColumnIndex("mname")); 
       String lname = c.getString(c.getColumnIndex("lname")); 
       Ldata.add(id); 
       Ldata.add(fname); 
       Ldata.add(mname); 
       Ldata.add(lname); 
       data.setAdapter(dataAdapter); 
      } 
      while(c.moveToNext()); 
     } 
     } 
     else 
     { 
      Toast.makeText(getApplicationContext(), "no data Available", Toast.LENGTH_SHORT).show(); 
     } 
    } 
    catch (Exception e) 
    { 
     Toast.makeText(getApplicationContext(), "Error Retrieving Data", Toast.LENGTH_SHORT).show(); 
    } 
    db.close(); 

    //Toast.makeText(this,"test "+ data.getSelectedItem(), Toast.LENGTH_SHORT).show(); 
    data.setOnItemClickListener(this); 

Этот код изменяет фон выбранного элемента. однако как я могу выбрать целую строку? И получить текст в первой ячейке строки?

public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { 
    // TODO Auto-generated method stub 
    //Toast.makeText(this, "test "+ arg0, Toast.LENGTH_SHORT).show(); 

    // change color of selected cell in gridview 
    data.getChildAt(arg2).setBackgroundColor(Color.RED); 
    Toast.makeText(this, "test " , Toast.LENGTH_SHORT).show(); 

} 

ответ

0

Попробуйте пользовательский адаптер. Он будет работать

+0

, чтобы быть полезным ответом, это должно показать, как использовать его и объяснить, почему он будет работать. В противном случае было бы лучше, чем комментарий. (У вас недостаточно комментариев, но хорошие ответы получат его для вас.) Вы можете редактировать, чтобы добавить дополнительные сведения. –

+0

Я новичок в android ... мог бы немного объяснить? – Jasser

Смежные вопросы