在动态edittext和textview中设置id

时间:2017-07-07 23:48:06

标签: java android android-edittext textview

我有一些麻烦试图在Android Studio中为动态edittext和texview添加id,我想使用此id来获取其他函数中的id。 注意:我没有在onCreate函数中设置任何id。

这是我的代码:

            for (Map.Entry<String,String> entry : getMap(newContact).entrySet()) {
            total++;
            TextView ProgrammaticallyTextView = new TextView(this.getActivity());
            EditText ProgrammaticallyEditText = new EditText(this.getActivity());
            ProgrammaticallyTextView.setId(total);
            ProgrammaticallyEditText.setId(total+1);
            ProgrammaticallyTextView.setText(entry.getKey());
            ProgrammaticallyEditText.setText(entry.getValue());

            linearLayout.addView(ProgrammaticallyTextView);
            linearLayout.addView(ProgrammaticallyEditText);

            total++;
        }

这是我使用edittext和textview id

的功能
    public void onClick(View v) {
    switch (v.getId()) {

        case R.id.btn_create:

            String test = "";

            for(int i=0; i < (this.total); i+=2){
                TextView tv = (TextView) v.findViewById(i++);
                EditText et = (EditText) v.findViewById(i+2);
                if ((i+2) >= this.total){
                    test += tv.getText()+"="+et.getText();
                }else
                {
                    test += tv.getText()+"="+et.getText()+",";
                }

            }

            mContact = getMap(test);
            newContactRequest();
            break;

    }
}

我感谢任何帮助!

1 个答案:

答案 0 :(得分:0)

您需要将数据类型显式更改为字符串。只是编写i ++尝试将该值指定为整数。 我想如果你改变你的线条它应该有效。

TextView tv = (TextView) v.findViewById(String.valueOf(i++));
EditText et = (EditText) v.findViewById(String.valueOf(i+2));