我在我的活動中有Gridview。我的GridView的數據適配器:如何在網格視圖中清除編輯框
private class EfficientAdapter extends BaseAdapter {
...
public View getView(int position, View convertView, ViewGroup parent) {
final ViewHolder holder;
if (convertView == null) {
convertView = mInflater.inflate(R.layout.item3, null);
holder = new ViewHolder();
holder.Attitude_Value = (EditText) convertView.findViewById(R.id.editText1);
holder.Attitude_Value.addTextChangedListener(new TextWatcher()
{
public void afterTextChanged(Editable edt)
{attitude_values.set(holder.ref, edt.toString());}
public void beforeTextChanged(CharSequence arg0, int arg1, int arg2, int arg3){}
public void onTextChanged(CharSequence arg0, int arg1, int arg2, int arg3) {}});
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.ref=position;
holder.Attitude_Value.setText(attitude_values.get(position));
return convertView;
}
...
我怎樣才能在網格視圖清晰編輯框,當我專注在它之前,開始打字?
我嘗試,但實際上我不明白該怎麼做。我們無法從TextWatcher()中看到持有者? – Ivan
@Ivan Onishchenko現在試試這個代碼。在'OnTouchListener'中,當你得到事件動作'ACTION_DOWN'時,獲取當前值並清除'EditText',並且如果用戶不能編輯當前值並放鬆焦點,只需將該值設置回去,否則設置新文本。 – 2013-01-25 07:23:30
謝謝!它在我觸摸時起作用,但是當我按下輸入時,按桌子結束移動。你能爲此建議方法嗎? 我添加了et.RequestFocus(),導致單元格沒有關注 – Ivan