2014-02-11 2 views
0

Итак, мне нужен был Horizontal ListView, и мне было рекомендовано использовать TableRow. Теперь у меня проблемы. TableRow просто не будет прокручиваться по горизонтали. Как решить эту проблему? Спасибо.TableRow Scrolling probl

+0

Вы можете использовать Горизонтальный ScrollView – Piyush

ответ

0

Просто оберните TableView в HorizontalScrollView. Что-то вроде этого:

<HorizontalScrollView 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:fillViewport="true" 
     android:scrollbars="horizontal"> 

    <TableView 
     android:id="@+id/your_tv" 
     ...> 
    </TableView> 
</HorizontalScrollView> 

---- EDIT ----

Чтобы узнать, какие View ты щелкнул, как вы знаете, у вас есть тег и что, когда вы сгореть onClick() событие, которое вы будете получить View, что уволил его с помощью параметра, вы можете использовать что-то вроде этого:

your_item.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View v) { 
    Log.d("TagDebug", "Hey, I'm the child number " + v.getTag().toString()); 
    } 
}); 
+0

Это не работает, NKN. Он просто делает вертикальный список. –

+0

Извините, я поставил 'ListView' вместо' TableView'. Теперь я обновил этот код, хотя, полагаю, вы уже пытаетесь это сделать. – nKn

+0

Итак, я попробовал снова, и единственное, что я получаю, когда я помещаю пару текстовых просмотров внутри tablerow, это многострочный текст: S –

0

Доля некоторые из кода, чтобы мы могли по крайней мере знать, что вы пробовали.

AFAIK, если вы поместили TableRow в ScrollView, он работает. Это то, что я делал, работая на простой таблице;

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:gravity="center_horizontal" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context=".MainActivity" > 

<ScrollView 
    android:id="@+id/scrollView1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentRight="true" 
    android:layout_centerHorizontal="true" 
    android:layout_centerVertical="false" > 

    <TableLayout 
     android:id="@+id/table" 
     android:layout_width="fill_parent" 
     android:layout_height="match_parent" 
     android:dividerPadding="@dimen/activity_horizontal_margin" 
     android:orientation="horizontal" 
     android:showDividers="beginning|middle|end" 
     android:stretchColumns="0,1,2,3" > 

     <TableRow 
      android:id="@+id/tableRow1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_gravity="center_horizontal" > 

      <TextView 
       android:id="@+id/p1" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="@string/p1" 
       android:textStyle="bold" /> 

      <TextView 
       android:id="@+id/p2" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="@string/p2" 
       android:textStyle="bold" /> 

      <TextView 
       android:id="@+id/p3" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="@string/p3" 
       android:textStyle="bold" /> 

      <TextView 
       android:id="@+id/p4" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_weight="1" 
       android:text="@string/p4" 
       android:textStyle="bold" /> 

     </TableRow> 
    </TableLayout> 
</ScrollView> 

<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentRight="true" > 

    <EditText 
     android:id="@+id/newScore" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:inputType="numberSigned" > 

     <requestFocus /> 
    </EditText> 

    <EditText 
     android:id="@+id/newScore2" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:inputType="numberSigned" /> 

    <EditText 
     android:id="@+id/newScore3" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:inputType="numberSigned" /> 

    <EditText 
     android:id="@+id/newScore4" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:inputType="numberSigned" /> 

    <Button 
     android:id="@+id/addScore" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:text="@string/addScore" /> 
</LinearLayout> 

И вы можете добавить строку в таблицу, как это;

tl = (TableLayout) findViewById(R.id.table);  
TableRow row = new TableRow(this); 
     TextView textView = new TextView(this); 
     TextView textView2 = new TextView(this); 
     TextView textView3 = new TextView(this); 
     TextView textView4 = new TextView(this); 
     textView.setText(score + ""); 
     textView2.setText(score2 + ""); 
     textView3.setText(score3 + ""); 
     textView4.setText(score4 + ""); 
     row.addView(textView); 
     row.addView(textView2); 
     row.addView(textView3); 
     row.addView(textView4); 
     tl.addView(row); 
+0

Это не сработало mgokgoz , Пожалуйста, помогите людям. –

+0

Работает. Я просто использовал это для своего простого настольного приложения. Добавлено полный xml сейчас – mgokgoz