Как получить ссылку на элемент в ListView по ID и TAG

SQLite, Preferences, файлы, SD, Content Provider, XML, JSON
Закрыто
dest
Сообщения: 1
Зарегистрирован: 28 авг 2012, 11:25

Как получить ссылку на элемент в ListView по ID и TAG

Сообщение dest » 28 авг 2012, 11:59

Всем добрый день!

Вообщем имеем 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");
Отсюда видно что каждый EditText имеет Id и Tag, причем в одной строке EditText имеют одинаковый Id.
Что мне нужно, так это при обработке события нажатия клавиши 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;
				}
				});				
				



Как это можно сделать?

Аватара пользователя
KamiSempai
Сообщения: 1339
Зарегистрирован: 17 фев 2012, 21:23
Откуда: Мордор

Re: Как получить ссылку на элемент в ListView по ID и TAG

Сообщение KamiSempai » 28 авг 2012, 13:42

У класса View есть метод requestFocus, используйте его, а не изобретайте велосипед.
В Вашем случае нужно вызвать v.requestFocus(View.FOCUS_DOWN) внутри обработчика нажатия клавиши.
R.id.team
Хватит таскать макулатуру на тренировку! Используй T Note.

Закрыто