2016-03-05 68 views
0

我的代码是:这些采取自定义3编辑文本比如何adddtextChanged监听器特定的foucused Edittext。 最后的EditText focues如果删除剩下的两个,如果空白第三如何将addTextChangedListener添加到动态Edittexts

for(int i=0;i<3;i++) 
{ 

LinearLayout.LayoutParams lparams=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT); 


TextInputLayout input ; 
input = new TextInputLayout(this); 

input.setLayoutParams(lparams); 

et = new EditText(this); 
et .setLayoutParams(lparams); 
    et .setHint(item.getLabel()); 
    et .setMinLines(1); 

    input.addView(et); 
rl_MainLayout1.addView(input); 


    et.addTextChangedListener(new TextWatcher() { 
       @Override 
       public void beforeTextChanged(CharSequence charSequence, int i, int i2, int i3) { 

       } 

       @Override 
       public void onTextChanged(CharSequence charSequence, int i, int i2, int i3) { 

       } 

       @Override 
       public void afterTextChanged(Editable editable) { 


        if (et.getText().toString().trim().isEmpty()) { 
         input.setError(getString(R.string.msg_errorName)); 
         requestFocus(et); 

        } else { 
         input.setErrorEnabled(false); 
        } 
       } 
      }); 
} 
+0

我建议创建自己的TextWatcher.so看到[代码](http://stackoverflow.com/questions/4283062/textwatcher-for-more-than-one-edittext/4283532#4283532) –

+0

什么是重点编辑文本? – ELITE

回答

0

/我解决了这个通过标记变量/

/第一声明它/

INT标志= 1;

/on循环标志++;/

if(flag==1) 
      { 
    et1=new EditText(this); 
       } 
else if(flag==2) 
      { 
    et2=new EditText(this); 

       } 

flag++; 
0

添加TextChangedListener在for循环编辑文本。

声明一个名为current全局变量作为

int current = 0; 

和对EditText

for(int i=0;i<3;i++) { 
    final int val = i; 
    .. 
    .. 
    et.addTextChangedListener(new TextWatcher(){ 

     public void afterTextChanged(Editable s) { 
     } 

     public void beforeTextChanged(CharSequence s, int start, int count, int after) { 
      current = val; 
     } 

     public void onTextChanged(CharSequence s, int start, int before, int count) { 
     } 

    }); 
} 

点击该变量的变化值和读取任何你想去的地方这个电流值。

+0

感谢回复,我使用了我自己的textWatcger但是如何在代码中定义EDITTEXT中的EDITTEXT onTextChanged。 –

+0

创建interger varibble并将该变量的值设置为当前编辑文本编号...我将更新答案。 – ELITE

+0

我用它在afterTextChanged –

相关问题