在按钮单击android中更改列表视图中的编辑框文本

时间:2014-02-13 04:03:17

标签: android-layout android-listview

我正在使用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"); 
 }
});

1 个答案:

答案 0 :(得分:1)

在适配器的getView方法中,我相信你有:

editText = (EditText)mView.findViewById(id here);
btnEdit= (Button)mView.findViewById(id here);

onClickListener()方法中设置按钮的getView,在onclick中,将可见性设置为invisiblegone,对于您提到的其他按钮,为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)