0

Я пытаюсь распечатать данные в формате таблицы, где имя и позиция столбца фиксированы и определены в файле xml. Как сделать интервал для печати, как таблица?

  <TableRow 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:paddingTop="10dp"> 
       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textAppearance="?android:attr/textAppearanceSmall" 
        android:text="sid" 
        android:textColor="@android:color/holo_blue_bright" 
        android:id="@+id/textView16" /> 
       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textAppearance="?android:attr/textAppearanceSmall" 
        android:text=" firstName" 
        android:id="@+id/textView16" /> 
       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textAppearance="?android:attr/textAppearanceSmall" 
        android:text=" lastName" 
        android:id="@+id/textView16" /> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textAppearance="?android:attr/textAppearanceSmall" 
        android:text=" address" 
        android:id="@+id/textView16" /> 

       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:textAppearance="?android:attr/textAppearanceSmall" 
        android:text=" phone" 
        android:id="@+id/textView16" /> 
      </TableRow> 
     </TableLayout> 

и код Java для данных печати является:

String sql=editQueryDB2.getText().toString(); 
       cursor = dbHelper.rawsqlquery(sql); 

       if(cursor!=null) { 
        names = cursor.getColumnNames(); 
        while (cursor.moveToNext()) { 
         for (String name : names) { 
          finalData.append(cursor.getString(cursor.getColumnIndex(name))); 
          finalData.append(" - "); 
         } 
         finalData.append("\n"); 
        } 
        submittedQueryDB2.setText(finalData); 
       } 

Выход:

Печать данных не является правильным, поскольку это будет варьироваться в зависимости от данных, присутствующих в таблице. Так что есть способ печатать систематически в табличном формате.

+0

Есть ли функция, как и в языке Си% 6d для интервала? –

ответ

0

Вы можете использовать \t, в промежутке в промежутке между закладками.

+0

Я попробовал ур предложение, но это dindnt работал. @ Ozo –

+0

1 vishal gupta sanatacruz 111112. 2 suryakumar gupta sanatacruz 11452 Могу ли я выделить некоторое пространство для атрибутов, которые они будут расширять, только если им нужно больше места. Он будет печатать таблицу как структуру. Ответить –

0

На самом деле, вы можете использовать несколько \ t для настройки вашего текстового текста в виде таблицы. Я думаю, вы просто использовали один \ t между каждым столбцом, который может быть недостаточным, вам следует искать оптимальный номер вкладки для ваших данных.

Однако, можно использовать таблицу вместо TextView:

TableLayout tl = (TableLayout) findViewById(R.id.tv); 

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


TextView tv1 = new TextView(this); 
tv1.setText("1"); 
tv1.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, 
      TableRow.LayoutParams.WRAP_CONTENT)); 

tr.addView(tv1); 

TextView tv2 = new TextView(this); 
tv2.setText("vishal"); 
tv2.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.WRAP_CONTENT, 
      TableRow.LayoutParams.WRAP_CONTENT)); 

tr.addView(tv2); 

... 

tl.addView(tr, new TableLayout.LayoutParams(TableLayout.LayoutParams.WRAP_CONTENT, 
      TableLayout.LayoutParams.WRAP_CONTENT)); 
Смежные вопросы