//第一步要聲明些map來保存這些控件數組
Map<String, EditText> map_edit ; // 根據 mxb中的 autobh ->memo封裝 控件
Map<String, String> map_v ;// 封裝mxb中的autobh->jcjg
List<String> list_bh ; // 封裝mxb中 autobh
Map<String, String> map_jcnr = new HashMap<String, String>(); // 封裝mxb中的autobh->jcnr:爲發現問題設置ide
//第二步佈局
剛進來的時候,先須要獲取一些基本數據,好比這裏得到一個對象數組this
cyjxdList=czff.GetList_Person(MainActivity.this,zfrybh, mima, bsh);對象
第三步,根據獲取到的數據,要填入相應的內容了,而且獲取索輸入的內容,addview在handleMessage(Message msg)中能夠調用,get
/*生成視圖1*/
@SuppressLint("NewApi")
private void addview() {
// TODO Auto-generated method stub
list_bh = new ArrayList<String>();
for(int i=0;i<size;i++)
{
//new 一個線性佈局 準備裝填內容
LinearLayout linear = new LinearLayout(this);
linear.setBackgroundColor(color[i%2]);
linear.setOrientation(LinearLayout.VERTICAL);
//獲取當前的一個對象,保存下
final Person info = Persons.get(i);
TextView text = new TextView(this);
//好比這裏書寫調查的內容
text.setText((++idex)+"、"+info.JCNR);
text.setTextSize(text_size_xmmc);
text.setTextColor(getResources().getColor(R.color.black));
LayoutParams l = new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
//設置距離左上右下位置
l.setMargins(10, 15, 0, 0);
linear.addView(text,l);
//把perosn的num放在list_bh的list中,把它記錄下來
list_bh.add(info.personNum+"");it
//下面再新建一個先對佈局了
RelativeLayout linear1 = new RelativeLayout(this);
RelativeLayout.LayoutParams lll = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
lll.setMargins(25, 15, 0, 0);io
//合格,不合格 放在一個線性佈局中
LinearLayout lin_1 = new LinearLayout(this);
lin_1.setOrientation(LinearLayout.HORIZONTAL);table
final MyCheck r1 = new MyCheck(this, null);
r1.setTextSize(text_size_check);
r1.setTextColor(getResources().getColor(R.color.black));
r1.setText("合格");List
final MyCheck r2 = new MyCheck(this, null);
r2.setTextSize(text_size_check);
r2.setTextColor(getResources().getColor(R.color.black));
r2.setText("不合格");
lin_1.addView(r1);
lin_1.addView(r2);
linear1.addView(lin_1,lll);
//記錄當前的檢查結果合格不合格
map_v.put(info.AUTOBH+"","空");
r1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
info.JCJG ="男" ;
r1.setChecked(true);
r2.setChecked(false);
//若是合格,map中的值該成合格。
map_v.put(info.AUTOBH+"","男");
}
});
r2.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
info.JCJG ="女" ;
r1.setChecked(false);
r2.setChecked(true);
map_v.put(info.AUTOBH+"","女");
}
});
//這裏要搞一個備註了
EditText ed = new EditText(this);
ed.setTextSize(text_size_check);
ed.setTextColor(getResources().getColor(R.color.black));
ed.setSingleLine(true);
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
int screenW = dm.widthPixels;
RelativeLayout.LayoutParams llll = new RelativeLayout.LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT);
llll.setMargins(screenW/2, 15, 25, 0);
//map中保存當前的備註Edittext
map_edit.put(info.personNum+"",ed);
//檢查內容也把它放在檢查內容中
map_jcnr.put(info.personNum+"",info.JCJG);
linear1.addView(ed,llll);
//edittext回調實現,這裏能夠把它顯示出來
ed.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
});
linear.addView(linear1); zdjc_cyjxd_lin.addView(linear); } //當前的第一個佈局得edittext獲取焦點 map_edit.get(list_bh.get(0)).requestFocus(); }