2016-06-13 5 views
1

есть что-то не так, так что сначала я создал отдельно xml-файл для строки таблицы, это не сработало, тогда я создал табличную строку и текстовое представление программно, опять же не отображается, когда я бегу, я не могу получить, если что не так с моим кодомдинамически добавленная таблица не отображается в android

table = (TableLayout) findViewById(R.id.goodsTable);  
    for (int i = 0; i < attrName.length; i++) { 

          TableRow tr = new TableRow(getApplicationContext()); 
          tr.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.MATCH_PARENT, TableRow.LayoutParams.WRAP_CONTENT)); 

          TextView atName = new TextView(getApplicationContext()); 

          atName.setText(attrName[i]); 
          tr.addView(atName); 
          table.addView(tr, new TableLayout.LayoutParams(TableLayout.LayoutParams.MATCH_PARENT, TableLayout.LayoutParams.WRAP_CONTENT)); 


         } 
         table.requestLayout(); 
+0

и это код, который я упоминал выше, используя XML-файл TableRow строку = (TableRow) LayoutInflater.from (getApplicationContext()) надуваться (R.layout.attribute_row, таблица, ложь). ((TextView) row.findViewById (R.id.attributeName)). SetText (attrName [i]); ((TextView) row.findViewById (R.id.attributeValue)). SetText (штрих-код); table.addView (строка, новый TableLayout.LayoutParams (TableLayout.LayoutParams.MATCH_PARENT, TableLayout.LayoutParams.WRAP_CONTENT)); – Afa

ответ

2

Попробуйте это может быть помощь вам

for (int i = 0; i < attrName.length; i++) { 

     TableRow tr = new TableRow(this); 
     tr.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, TableRow.LayoutParams.WRAP_CONTENT)); 

     TextView atName = new TextView(this); 
     atName.setText(attrName[i]); 
     atName.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, TableRow.LayoutParams.WRAP_CONTENT)); 
     tr.addView(atName); 
     table.addView(tr, new TableLayout.LayoutParams(TableLayout.LayoutParams.FILL_PARENT, TableLayout.LayoutParams.WRAP_CONTENT)); 
} 

Вы должны применять LayoutParam для TextView и для создания нового объекта для TableRow или TextView вы должны использовать Activity Context не ApplicationContext

+0

, когда я использую 'this' вместо 'getApplicationContext()', он дает ошибку, я хочу отметить, что мой код находится внутри searchButton.setOnClickListener – Afa

+0

Использовать 'YourActivityName.this' –

+0

спасибо вам, мухух @ahishek, yo сделал мой день, спасибо – Afa