* 정의부
/**
* view 하위의 특정 TableLayout의 TableRow를 순회하면서 EditText를 찾고,
* 각 EditText의 id 문자열로 SharedPreferences(혹은 Constants)를 조회한 결과값을 EditText에 채워 넣는다.
*
* @param rootView
* @param tableLayoutId
*/
public static void fillSavedDataToForm(View rootView, int tableLayoutId) {
TableLayout tableLayout = (TableLayout) rootView.findViewById(tableLayoutId);
TableRow tableRow;
View tmpView;
EditText et;
String id, key, val;
for(int i=0; i<tableLayout.getChildCount(); i++){
tableRow = (TableRow)tableLayout.getChildAt(i);
for(int j=0; j<tableRow.getChildCount(); j++){
tmpView = tableRow.getChildAt(j);
if(tmpView instanceof EditText){
et = (EditText)tmpView;
id = et.getResources().getResourceEntryName(et.getId());
key = id.substring(3); // id에서 "et_" 제거
val = StringUtil.getPropStringForEnv(key);
et.setText(val);
Log.d("##", "EditText id:["+id+"], key:["+key+"], val:["+val+"]");
}
}
}
}
* 호출부
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = super.initView(inflater, container, R.layout.fragment_authnewweb_authorize2_case1);
// 저장되어 있던 폼데이터를 화면에 채워넣기
FragmentUtil.fillSavedDataToForm(view, R.id.auth2Case1FormTable);
return view;
}