Вообщем имеем ListView, каждая строка ListView состоит из двух EditText.
Код: Выделить всё
public View getView(int position, View convertView, ViewGroup parent) {
GlistArray g = getGlist(position);
ViewHolder holder;
if (convertView == null) {
holder = new ViewHolder();
convertView = lInflater.inflate(R.layout.glist, null);
holder.caption = (EditText) convertView
.findViewById(R.id.list_item);
holder.d_cost = (EditText) convertView
.findViewById(R.id.desire_cost_item);
convertView.setTag(holder);
} else {
//
holder = (ViewHolder) convertView.getTag();
}
//Fill EditText with the value you have in data source
holder.caption.setText(g.name);
holder.caption.setId(position);
holder.caption.setTag("name");
if (g.desire_cost != 0) { holder.d_cost.setText(Float.toString(g.desire_cost)); }
holder.d_cost.setId(position);
holder.d_cost.setTag("desire_cost");
Что мне нужно, так это при обработке события нажатия клавиши Enter, получить ссылку на EditText с тем же Id, но с другим тэгом, для того чтобы установить фокус на соседний элемент и изменить его внешний вид.
Код: Выделить всё
holder.caption.setOnKeyListener(new OnKeyListener() {
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER
&& event.getAction() == KeyEvent.ACTION_DOWN) {
final EditText cap = (EditText) v;
???????????????????
return true;
}
return false;
}
});
Как это можно сделать?