* 정의부
/** * 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; }