我正在使用ListView
,其中我夸大了另一个layout template
,其中包含2 Images, an edit text, a correction button , and 2 more buttons,
其中一个是快速编辑按钮,现在我想要on click on this quick edit button
编辑文本应该可编辑,correction button should become visible.
可以帮助我。
从评论中可以轻松阅读:
mv.quick_edit = (ImageButton)convertView.findViewById
(R.id.gateway_list_info_image_button_temp);
mv.quick_edit.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
MyViewHolder m = new MyViewHolder();
m.correct_button.setVisibility(View.VISIBLE);
m.edit_text.setText("text changed");
}
});
答案 0 :(得分:1)
在适配器的getView
方法中,我相信你有:
editText = (EditText)mView.findViewById(id here);
btnEdit= (Button)mView.findViewById(id here);
在onClickListener()
方法中设置按钮的getView
,在onclick中,将可见性设置为invisible
或gone
,对于您提到的其他按钮,为editText设置setEnabled
方法为true。
我希望这一点很有帮助。
修改强>
要在代码中使用viewHolder,请参阅this
代码段:
if(convertView==null){
// inflate the layout
LayoutInflater inflater = ((Activity) mContext).getLayoutInflater();
convertView = inflater.inflate(layoutResourceId, parent, false);
// well set up the ViewHolder
viewHolder = new ViewHolderItem();
viewHolder.textViewItem = (TextView) convertView.findViewById(R.id.textViewItem);
// store the holder with the view.
convertView.setTag(viewHolder);
}else{
// we've just avoided calling findViewById() on resource everytime
// just use the viewHolder
viewHolder = (ViewHolderItem) convertView.getTag();
}
在else块之后定义onClickListeners
并使用viewHolder.editText.setVisibility(View.INVISIBLE)