2015-01-05 84 views
2

我有一個Android應用程序,我在for循環中動態創建了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); 
} 

所以我必須在每個編輯文本上添加點擊事件。所以請告訴我如何在每個編輯文本上添加點擊事件。

+0

你說的單擊事件是什麼意思?你期望它基本上做什麼? –

回答

2

首先,您需要爲每個editText提供ID以分別識別它們。

爲EX:

ratePerUnit.setId(materialCount); 

現在,您需要實現OnClickListeneractivity/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()」。 – MKJParekh

+1

工作!非常感謝你.. – Pone