【发布时间】:2014-04-27 02:06:06
【问题描述】:
我正在编写代码以在ListView 中插入EditText 和checkbox,在此CheckBox 将仅用于前7 行,然后EditText 将出现在每一行中。
以下代码适用于第一次查看。但是当我向下滚动 View...Checkbox 而不是 EditView 时。意味着EditText 得到隐藏,CheckBox 来了,我为此编写了下面的可见性代码。请你能帮助我哪里出错。
public View getView(int position, View convertView, ViewGroup parent) {
View vi=convertView;
ViewHolder holder;
if(convertView==null){
/********** Inflate tabitem.xml file for each row ( Defined below ) ************/
vi = inflater.inflate(R.layout.tabitem, null);
/******** View Holder Object to contain tabitem.xml file elements ************/
holder=new ViewHolder();
holder.text=(TextView)vi.findViewById(R.id.textView1);
holder.check =(CheckBox)vi.findViewById(R.id.checkBox1);
holder.text2=(EditText)vi.findViewById(R.id.editText1);
holder.text2.setTag(1);
int position12 = (Integer)holder.text2.getTag();
System.out.print(position12 + "value");
/************ Set holder with LayoutInflater ************/
vi.setTag(holder);
j++;
if(j<8){
holder.text2.setVisibility(View.INVISIBLE);
holder.check.setX(-150);
}else
{
holder.check.setVisibility(View.INVISIBLE);
}
}
else
holder=(ViewHolder)vi.getTag();
holder.text2.getText();
if(data.size()<=0)
{
holder.text.setText("No Data");
holder.text2.getText();
// Log.v("BBBB", holder.text2.getText().toString());
}
else
{
/***** Get each Model object from Arraylist ********/
tempValues=null;
tempValues = (ListModel) data.get(position);
/************ Set Model values in Holder elements ***********/
holder.text.setText(tempValues.getCompanyName());
holder.text2.getText();
/******** Set Item Click Listner for LayoutInflater for each row ***********/
vi.setOnClickListener(new OnItemClickListener(position));
}
Log.v("DDD", holder.text2.getText().toString());
return vi;
}
【问题讨论】:
标签: android android-layout listview android-listview android-edittext