0

나는 하루 달력을 만들려고 노력하고 있는데, 나는 tablelayout을 사용하고있다. 그리고 나는 여기에 데이터에 접근 할 수 있도록 TextViews를 포함하는 커스텀 행 (레이아웃 xml)을 정의하고 싶다. 테이블 레이아웃 (.를 통해 전환 논리)안드로이드 TableLayout CustomRow

<TableLayout 
    android:id="@+id/appointmentListView" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 

<TableRow 
    android:id="@+id/tableRow1"> 
    <LinearLayout 
     android:orientation="horizontal" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     > 

     <TextView 
      android:id="@+id/unitNul" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="00:00"/> 

     <CustomRow><\CustomRow> //this is where I imagined I would have to put my custom element 

    </LinearLayout> 


</TableRow> 

내가 다음 올바른 행에서 일 자신의 시간을 기준으로 약속에 넣어 진행할 것

내 질문

은 다음과 같습니다 가 어떻게 정의를 추가하려면 요소를 각 tablerow에? 이렇게하는 것이 가장 좋은 방법입니까?

사이드 노트 : 사용자 정의보기 요소를 만들려고했으나 처리하기가 너무 어려워 보입니다. (당신이 설명하는 좋은 가이드를 알고 있다면이 또한 옵션입니다) 난 이미 시도 : http://developer.android.com/guide/topics/ui/custom-components.html

+0

A는/사용 목록보기 B /, 당신은 XML을 사용할 수 없습니다. java 및 addView를 사용하십시오 – njzk2

+0

제가 listview를 사용하여 직면하고있는 문제는 왼쪽에 시간을 나타 내기 위해 textview가 있어야하고 오른쪽에 클래스 값을 지정해야한다는 것을 의미합니다. 특정 요소가 이동해야합니다. 예. 12시 15 분은 textview가 12시 15 분을 말하는 행으로 이동해야합니다. (실제로 여러 행에 걸쳐 항목을 확장해야하지만 한 번에 한 가지 문제가 발생합니다.) – Ken

답변

2

이 ::

<?xml version="1.0" encoding="utf-8"?> 
<TableLayout 
      android:id="@+id/tablerows" 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:background="@android:color/white" 
      android:stretchColumns="0,1" > 
     </TableLayout> 

    </LinearLayout> 

</LinearLayout> 

다음 활동에 클래스가 동적으로 추가 행과 다른 같은 XML을 생성 이 같은 견해 ;;

TableRow row; 
    TextView t1, t2; 
    int dip = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP,(float) 1,    getResources().getDisplayMetrics()); 
    row = new TableRow(context); 
    row.setLayoutParams(new android.widget.TableRow.LayoutParams(android.widget.TableRow.LayoutParams.FILL_PARENT, 
       android.widget.TableRow.LayoutParams.WRAP_CONTENT)); 
t1 = new TextView(context); 
t1.setTypeface(null, 1); 
t1.setTextSize(15); 
t1.setWidth(50 * dip); 
t1.setPadding(20*dip, 0, 0, 0); 
row.addView(t1); 

는 UR 테이블 (여기서는 "myTable에")에서이 같은 행을 추가 :: 요소의 양이 동적 인 경우

myTable.addView(row, new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); 
+0

감사합니다. 정확히 무엇을 찾고 있습니다 :-D – Ken

+0

항상 환영합니다. :-) – mainu