如何在线性布局中获取动态添加的编辑文本的子位置?

how to get child positions of dynamically added edittext in linearlayout?

在这里,我使用了带有重复 string.I 的列表,我要 运行 循环说如果项目是“1”,那么 edittext 输入类型应该是数字,如果它“4”正常 edittext.Now 我的问题是如何在 edittext.The 的 onclick 事件中获取 id 下面的代码一直有效,直到 onclick。

        list.add("1");
        list.add("1");
        list.add("4");
        list.add("4");
        for(int i=0;i<list.size();i++){
            String str=list.get(i);
            editText1=new EditText(Second.this);
            editText1.setId(i);
            if(str.equals("1")){


                editText1.setInputType(InputType.TYPE_CLASS_NUMBER);
                linearLayout.addView(editText1);



            }
            else if(str.equals("4")){
                linearLayout.addView(editText1);
                }
          linearLayout.addView(txt);
        }


        int position=linearLayout .getChildCount();
        Log.d("linearLayout","count"+position);
    editText1.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        int currentViewId =view.getId();
        Log.d("linearLayout","currentViewId"+currentViewId);
    }
});

请帮我用简单的方法解决这个问题

提前致谢!

尝试这种方式为视图控件设置 Id。

        linearLayout=(LinearLayout)findViewById(R.id.lin);
    textView.setText(s);
    for(int i=0;i<3;i++){
        txt=new TextView(Second.this);
        txt.setText(""+i+"");
        txt.setId(i);
        linearLayout.addView(txt);
    }
    int position=linearLayout .getChildCount();
    Log.d("linearLayout","count"+position);

    for(int i = 0; i < linearLayout .getChildCount(); ++i) {
        View v = linearLayout.getChildAt(i);
        int currentViewId =v.getId();
        Log.d("linearLayout","currentViewId"+currentViewId);
        if(currentViewId == 1) {
            txt.setTextColor(Second.this.getResources().getColor(R.color.colorPrimary));

        }
        else if (currentViewId==2){

        }
    }
for(int i=0;i<3;i++){
        txt=new TextView(Second.this);
        txt.setText(""+i+"");
        txt.setId(""+i+"");
        linearLayout.addView(txt);
    }