2017-06-25 14 views
-1

私は、その特定の日のタイミングと一緒に曜日をリストするテキストビューを含む相対レイアウトを持っています。 私が望むのは、特定の場合にプログラムでテキストビューの順序を変更することです。アイデアは、今日の今日の日から始まる日を表示するように、日の名前が順番に表示されることです。 たとえば、今日の日曜日が日曜日で、リストは他の日の後の日曜日から開始され、同様に、月曜日の場合は月曜日からリストが開始されます。テキストビューとレイアウトは似ている相対レイアウトでのテキストビューの順番を変更:Android

<RelativeLayout 
     android:id="@+id/time_expandable" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/time_area" 
     android:animateLayoutChanges="true" 
     android:clickable="true"> 

     <TextView 
      android:id="@+id/company_day1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="12dp" 
      android:layout_marginRight="0dp" 
      android:layout_marginTop="15dp" 
      android:text="Monday" 
      android:textColor="#555555" 
      android:textSize="15sp" 
      android:textStyle="bold" 
      android:clickable="false"/> 

     <TextView 
      android:id="@+id/company_time1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="37dp" 
      android:layout_marginTop="15dp" 
      android:text="" 
      android:textColor="#555555" 
      android:layout_toRightOf="@+id/company_day1" 
      android:textSize="15sp" 
      android:textStyle="bold" 
      android:clickable="false"/> 

     <TextView 
      android:id="@+id/company_day2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="12dp" 
      android:layout_marginRight="0dp" 
      android:layout_marginTop="15dp" 
      android:text="Tuesday" 
      android:layout_below="@+id/company_day1" 
      android:textColor="#555555" 
      android:textSize="15sp" 
      android:textStyle="bold" 
      android:clickable="false"/> 

     <TextView 
      android:id="@+id/company_time2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="35dp" 
      android:layout_marginTop="15dp" 
      android:text="" 
      android:textColor="#555555" 
      android:layout_below="@+id/company_day1" 
      android:layout_toRightOf="@+id/company_day2" 
      android:textSize="15sp" 
      android:textStyle="bold" /> 

     <TextView 
      android:id="@+id/company_day3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="12dp" 
      android:layout_marginRight="0dp" 
      android:layout_marginTop="15dp" 
      android:text="Wednesday" 
      android:layout_below="@+id/company_day2" 
      android:textColor="#555555" 
      android:textSize="15sp" 
      android:textStyle="bold" 
      android:clickable="false"/> 

     <TextView 
      android:id="@+id/company_time3" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="15dp" 
      android:layout_marginTop="15dp" 
      android:text="" 
      android:textColor="#555555" 
      android:layout_toRightOf="@+id/company_day3" 
      android:layout_below="@+id/company_day2" 
      android:textSize="15sp" 
      android:textStyle="bold" 
      android:clickable="false"/> 

     <TextView 
      android:id="@+id/company_day4" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="12dp" 
      android:layout_marginRight="0dp" 
      android:layout_marginTop="15dp" 
      android:text="Thursday" 
      android:layout_below="@+id/company_day3" 
      android:textColor="#555555" 
      android:textSize="15sp" 
      android:textStyle="bold" 
      android:clickable="false"/> 

     <TextView 
      android:id="@+id/company_time4" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="29dp" 
      android:layout_marginTop="15dp" 
      android:text="" 
      android:textColor="#555555" 
      android:layout_toRightOf="@+id/company_day4" 
      android:layout_below="@+id/company_day3" 
      android:textSize="15sp" 
      android:textStyle="bold" 
      android:clickable="false"/> 

     <TextView 
      android:id="@+id/company_day5" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="12dp" 
      android:layout_marginRight="0dp" 
      android:layout_marginTop="15dp" 
      android:text="Friday" 
      android:layout_below="@+id/company_day4" 
      android:textColor="#555555" 
      android:textSize="15sp" 
      android:textStyle="bold" 
      android:clickable="false"/> 

     <TextView 
      android:id="@+id/company_time5" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="51dp" 
      android:layout_marginTop="15dp" 
      android:text="" 
      android:textColor="#555555" 
      android:layout_toRightOf="@+id/company_day5" 
      android:layout_below="@+id/company_day4" 
      android:textSize="15sp" 
      android:textStyle="bold" 
      android:clickable="false"/> 

     <TextView 
      android:id="@+id/company_day6" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="12dp" 
      android:layout_marginRight="0dp" 
      android:layout_marginTop="15dp" 
      android:text="Saturday" 
      android:layout_below="@+id/company_day5" 
      android:textColor="#555555" 
      android:textSize="15sp" 
      android:textStyle="bold" 
      android:clickable="false"/> 

     <TextView 
      android:id="@+id/company_time6" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="32dp" 
      android:layout_marginTop="15dp" 
      android:text="" 
      android:layout_toRightOf="@+id/company_day6" 
      android:layout_below="@+id/company_day5" 
      android:textColor="#555555" 
      android:textSize="15sp" 
      android:textStyle="bold" 
      android:clickable="false"/> 

     <TextView 
      android:id="@+id/company_day7" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="12dp" 
      android:layout_marginRight="0dp" 
      android:layout_marginTop="15dp" 
      android:text="Sunday" 
      android:layout_below="@+id/company_day6" 
      android:textColor="#555555" 
      android:textSize="15sp" 
      android:textStyle="bold" 
      android:clickable="false"/> 

     <TextView 
      android:id="@+id/company_time7" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_marginLeft="42dp" 
      android:layout_marginTop="15dp" 
      android:text="" 
      android:layout_toRightOf="@+id/company_day7" 
      android:layout_below="@+id/company_day6" 
      android:textColor="#555555" 
      android:textSize="15sp" 
      android:textStyle="bold" 
      android:clickable="false"/> 
    </RelativeLayout> 

私は私がこれをimpelentできるか見当がつかない。しかし、私はこれで行く方法がわからないです How do I change the order of the textviews and buttons in a linerLayout or RelativeLayout?

change order of views in linear layout android

:私のようないくつかのリンクを介して見てきました。誰でも助けてくれますか? The image shows the list of days starting from Sunday since today is sunday. Similarly I need the list to change with respect to the current day

+0

達成したい目標を達成しました。スクリーンショット – seon

答えて

0

あなたはそうする必要はありません。ビューを並べ替える代わりに、各ビューにどの情報が配置されているかを再マッピングします。今日は日曜日であれば、例えば、不必要に難しいだろう見解を移動するなど

((TextView)findViewById(R.id.company_day1)).setText("Sunday");  
((TextView)findViewById(R.id.company_day2)).setText("Monday"); 

を行います。再マッピングはかなり簡単です。

0

レイアウトファイルの日数をハードコードする代わりに、空白のままにしておきます。 TextViewを2次元配列で初期化します。日と時間の値を別の2次元配列で入力します。ネストされたループを実行してTextViewを入力します。これにより、コードを読みやすく柔軟にすることができます。

TextView[][] tvs; 
String[][] values; 

for(int i = 0 ; i < tvs.length ; i++) { 
    for(int j = 0 ; j < tvs[i].length ; j++) { 
     tvs[i][j].setText(values[i][j]); 
    } 
} 
関連する問題