我正在尝试创建动态EditText但出现错误

时间:2019-06-16 16:26:03

标签: java android xml

有什么办法可以完成这项工作。我正在从另一个活动中获取输入,以创建动态editText来获取输入。

public class GetNames extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.names);
    LinearLayout ll = findViewById(R.id.lin);

    Bundle bundle = getIntent().getExtras();
    String entered_no = bundle.getString("no_of_persons");

    for (int i = 0; i < (Integer.valueOf(entered_no)); i++) {
        EditText editText = new EditText(GetNames.this);
        editText.setId(editText.generateViewId());
        ll.addView(editText,0);
        editText.setHint(i);
    }
}

}

有什么办法解决这个问题。

她是我的XML文件

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">

<LinearLayout
    android:layout_width="wrap_content"
    android:id="@+id/lin"
    android:layout_height="wrap_content"
    android:orientation="vertical"></LinearLayout>

以下是错误消息

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.abhishakkrmalviya.perfecthalf/com.abhishakkrmalviya.perfecthalf.GetNames}: android.content.res.Resources$NotFoundException: String resource ID #0x0

1 个答案:

答案 0 :(得分:0)

您的问题是您没有设置布局参数,请看一下此示例。

ConstraintLayout layout = (ConstraintLayout)findViewById(R.id.mainConstraint);
ConstraintSet set = new ConstraintSet();

EditText editText = new EditText(GetNames.this);
editText.setId(View.generateViewId());
editText.setHeight(50);
editText.setWidth(50);

layout.addView(view,0);
set.clone(layout);
set.connect(view.getId(), ConstraintSet.TOP, layout.getId(), ConstraintSet.TOP, 60);
set.applyTo(layout);

您可以参考this以获得更多信息

相关问题