我是 Java 和 Android 的新手,我正在开发一个程序,它连续有两个 EditText。第一个edittext我想成为一个字符串,第二个是分配给该字符串的整数。
更具体地说,用户输入 Homework 和 15,我希望保存这个数字,以便将来用户在 Homework 中输入带有值的作业时,该值乘以 15。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<EditText
android:id="@+id/register_assign_edit"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:hint="@string/example_assign"
android:singleLine="true"
android:inputType="textCapWords"
android:layout_weight="1">
</EditText>
<EditText
android:id="@+id/register_weight_edit"
android:layout_width="fill_parent"
android:layout_weight="1"
android:layout_height="wrap_content"
android:hint="@string/example_weight"
android:layout_marginLeft="3dp"
android:gravity="center_horizontal"
android:inputType="number"
android:singleLine="true"
android:maxLength="2">
</EditText>
</LinearLayout>
这是我的xml文件
这是我的 .java 文件
public void onAddNewClicked(View v){
inflateEditRow(null, null);
v.setVisibility(View.GONE);
}
private void inflateEditRow(String name, String name1){
LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);
final View rowView = inflater.inflate(R.layout.new_class, null);
final EditText register_assign = (EditText) rowView.findViewById(R.id.register_assign_edit);
final EditText register_weight = (EditText) rowView.findViewById(R.id.register_weight_edit);
if (name != null && !name.isEmpty()) {
register_assign.setText(name);
register_weight.setText(name1);
} else {
mExclusiveEmptyView = rowView;
}
mContainerView.addView(rowView, mContainerView.getChildCount()-1);
}
我试图将 String name2 的参数更改为 Integer weight,当我在 OnAddNewClicked 中将其调用为 inflateEditRow(null, (Integer) null) 时,程序崩溃了。