我是Android新手 我正在尝试从示例表单中获取学生详细信息,以在下一个屏幕中显示它们,但是这引发了我在上面的标题中提到的错误。 因此,首先,我将创建示例表单,以便通过主要活动输入学生的详细信息,并包括它的xml文件。输入详细信息并在下一个屏幕中按Submit按钮后,它应该打印上述详细信息 名称-(以示例形式输入的名称) 年龄-年龄 性别-性别” 教育--edu“ 但这不是在打印细节。
我的displayActivity.java代码是:
package first.sample.com.task1;
import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.Spinner;
import android.widget.TableLayout;
import android.widget.TextView;
public class DisplayActivity extends Activity {
private TableLayout tableLayout;
private int student_display_age;
private int student_display_name;
private int student_display_gender;
private int student_display_edu;
@Override
protected void onCreate(Bundle savedInstanecState) {
super.onCreate(savedInstanecState);
setContentView(R.layout.display_activity);
Bundle b = getIntent().getExtras();
tableLayout=(TableLayout)findViewById(R.id.tableLayout);
TextView name = (TextView) findViewById(R.id.nameValue);
TextView age = (TextView) findViewById(R.id.ageValue);
TextView eduText = (TextView) findViewById(R.id.spinner);
TextView gender = (TextView) findViewById(R.id.genderValue);
View tableRow= LayoutInflater.from(this).inflate(R.layout.table_item,null,false);
TextView student_display_name1 = (TextView) tableRow.findViewById(R.id.student_display_name);
TextView student_display_age1 = (TextView) tableRow.findViewById(R.id.student_display_age);
TextView student_display_gender1 = (TextView) tableRow.findViewById(R.id.student_display_gender);
TextView student_display_edu1 = (TextView) tableRow.findViewById(R.id.student_display_edu);
((TextView) tableRow.findViewById(R.id.student_display_name)).setText(name.getText());
((TextView) tableRow.findViewById(R.id.student_display_age)).setText(age.getText());
((TextView) tableRow.findViewById(R.id.student_display_gender)).setText(gender.getText());
((TextView) tableRow.findViewById(R.id.student_display_edu)).setText(eduText.getText());
student_display_edu1.setText(student_display_edu);
student_display_name1.setText(student_display_name);
student_display_gender1.setText(student_display_gender);
student_display_age1.setText(student_display_age);
tableLayout.addView(tableRow);
}
}`
我的table_item.xml文件是
'
Blockquote
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/tableLayout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="5dp"
android:orientation="vertical"
android:collapseColumns="0">
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="384dp"
android:layout_height="106dp">
<TextView
android:id="@+id/student_display_gender"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="2" />
<TextView
android:id="@+id/student_display_age"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="1"
android:layout_marginTop="0dp" />
<TextView
android:id="@+id/student_display_edu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="3" />
<TextView
android:id="@+id/student_display_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_column="4" />
</TableRow>
</TableLayout>
</RelativeLayout>'
' The error is showing because of the following code
student_display_edu1.setText(student_display_edu);
student_display_name1.setText(student_display_name);
student_display_gender1.setText(student_display_gender);
student_display_age1.setText(student_display_age); '
请帮助我。我被困在这里。
enter code here }
答案 0 :(得分:1)
student_display_age1.setText(student_display_age);
student_display_age的类型为int。每当您使用setText(int)时,Android都会在您的资源(Strings.xml)中查找以查看是否可以找到该int。考虑到找不到,将引发错误。要解决此问题,请使用以下任一选项:
student_display_age1.setText(""+student_display_age);
或
student_display_age1.setText(String.valueOf(student_display_age));