2015-01-05 3 views
2

У меня есть приложение для Android, в котором я динамически создавал EditText в цикле.Обнаружение касания динамически созданного текста редактирования

for (int i = 0; i < materialCount; i++) { 
    LayoutInflater layoutInflater = (LayoutInflater) getActivity()..getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
    final View addView = layoutInflater.inflate(R.layout.row, null); 
    ratePerUnit = (EditText) addView.findViewById(R.id.releaseYear); 
} 

поэтому я должен добавить событие click для каждого текста редактирования. Поэтому, пожалуйста, расскажите, как добавить событие click для каждого текста редактирования.

+0

Что вы имеете в виду события мыши? Что вы ожидаете от этого? –

ответ

2

Прежде всего, вам нужно предоставить идентификаторы каждому из ваших editText, чтобы идентифицировать их отдельно.

для EX:

ratePerUnit.setId(materialCount); 

Теперь вам нужно реализовать OnClickListener к вашему activity/fragment и реализовать метод onClick() в своем классе.

для EX:

class YourFragmentName extends Fragment implements View.OnClickListener 
{ 

    @Override 
    void onClick(View v){ 
    } 
} 

Теперь вы можете установить onClickLister для каждого из ваших EditText в цикле.

для EX:

ratePerUnit.setOnClickListener(this); 

Теперь вы будете получать щелчок слушателя вашей каждой EditText в вашем одном onClick() метод и использовать ID знать, какие EditText была нажата.

для EX:

@Override 
void onClick(View v){ 
    switch(v.getId()){ 
     case 0: 
      // editText 0 has been clicked 
    } 
} 
+0

Большое спасибо за ваш ответ. Я попытался таким же образом, но обнаружил, что касался только последнего текста редактирования. – Pone

+0

Вам нужно создавать/создавать объекты ratePerUnit каждый раз, например, «rateperUnity = new EditText()» в Loop. – MKJParekh

+1

работает !!! Большое спасибо.. – Pone

Смежные вопросы