2015-12-30 2 views
3

Я искал и искал здесь, но я не могу решить эту проблему. У меня есть ScrollView, внутри ScrollView есть LinearLayout, я хочу прочитать мою базу данных SQL и отобразить такие результаты;Добавьте несколько TextView в TableRow динамически через цикл sql

Linear Layout 
    ScrollView 
     Linear Layout 
      TableRow 
       TextView 
       TextView 
      TableRow 
       TextView 
       TextView 
     /Linear Layout 
    /ScrollView 
/LinearLayout 

Мой код выглядит следующим образом:

TableRow tRow; 
      ContextThemeWrapper ttRow = new ContextThemeWrapper(this, R.style.coreTable); 
      LinearLayout LL = (LinearLayout) findViewById(R.id.linearCores); 
      LayoutParams lp = new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT); 



      if (cores.moveToFirst()) { 
       while (cores.isAfterLast() == false) { 
        Log.e("CORE LIST", cores.getString(1)); 
        tRow = new TableRow(ttRow); 
        tRow.setLayoutParams(lp); 
        tRow.setOrientation(TableRow.VERTICAL); 
        tRow.setId(cores.getInt(0)); 
        tRow.setBackgroundResource(R.drawable.shape_border); 
        ContextThemeWrapper newTxtA = new ContextThemeWrapper(this, R.style.coreHeaderView); 
        TextView tTextA = new TextView(newTxtA); 
        tTextA.setLayoutParams(lp); 
        tTextA.setText(cores.getString(1) + " (Lvl " + cores.getString(2) + ")"); 
        tRow.addView(tTextA); 
        TextView tTextB = new TextView(coreChooser.this); 
        tTextB.setLayoutParams(lp); 
        tTextB.setText(cores.getString(5)); 
        tRow.addView(tTextB); 
        LL.addView(tRow); 
        cores.moveToNext(); 
       } 
      } 

На моем эмуляторе это показывает первый tRow.addView, но не все остальные, однако на фоне кажется, растянуть мимо экрана.

Я действительно не уверен, что я делаю неправильно здесь.

ответ

3

Документация TableRow гласит следующее:

TableRow всегда следует использовать в качестве ребенка в TableLayout. Если родитель TableRow не является TableLayout, то TableRow будет вести себя как горизонтальный .

Если ваше намерение просто быть в состоянии сделать каждую пару TextView акцию общего фона R.drawable.shape_border, а затем использовать вложенную LinearLayout вместо TableRow (TableRow протягивается от LinearLayout в любом случае).

В качестве альтернативы, если есть какая-то особенность TableRow вы абсолютно хотите использовать, а затем сделать R.id.linearCores в TableLayout вместо того, LinearLayout.

+0

Спасибо, что сработало. – VinnyM

+0

Рад, что это вам помогло. Не забудьте отметить ответ, как принято. –

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