任意の数の が取り込まれMainActivity extends FragmentActivity
た を使用するアプリを構築しています。CalendarFragment extends Fragment
ShiftRowFragment extends Fragment
を に動的に追加するメソッドを構築したいと考えてShiftRowFragment
いCalendarFragment
ます。にShiftRowFragment
は、日付や時刻などの動的な値が含まれていString
ます。
これが私のものCalendarFragment.java
です:
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class CalendarFragment extends Fragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
addDay();
addDay();
View v = inflater.inflate(R.layout.calendar_fragment, container, false);
return v;
}
private void addDay() {
ShiftRowFragment shiftFragment = new ShiftRowFragment();
FragmentTransaction transaction = getChildFragmentManager()
.beginTransaction();
transaction.add(R.id.llShifts, shiftFragment).commit();
}
}
ShiftRowFragment.java
外観は次のとおりです。
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
public class ShiftRowFragment extends Fragment {
public static ShiftRowFragment newInstance(int index) {
ShiftRowFragment f = new ShiftRowFragment();
Bundle args = new Bundle();
args.putInt("index", index);
f.setArguments(args);
return f;
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.shiftrow_fragment, container,
false);
// load calendar
return view;
}
}
率直に言って、私は読んだドキュメントについて混乱しています。newInstance
のメソッドで何かが起こるはずShiftRowFragment
ですが、正確にはわかりません。現在のコードは、2 つの ShiftRow をデフォルト値 (shiftrow_fragment.xml ファイルで指定) で表示します。
最後に、このshiftrow_fragment.xml
ファイルには、TextViews
動的に入力する必要がある次のものが含まれています。
tvDateIconMonth
- 「1 月」、「2 月」などの文字列値を保持します。tvDateIconDay
- 「月」、「火」などの文字列値を保持します。tvExpiration
- 「今日」、「明日」、「3 日後」などの文字列値を保持します。LinearLayout
また、 の子にアクセスできるように、上記を含む親のタグをTextViews
ある種のインデックスに設定する必要がありますFragment
。
addDay()
必要なことを行うためにメソッドを修正するにはどうすればよいですか?