我有这个代码
package com.UPFIM.casa;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;
public class Constancias extends Activity {
public String nivels;
public String tipos;
public String cant;
public String fot;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.constancias);
EditText nombre = (EditText) findViewById(R.id.name);
EditText matricula = (EditText) findViewById(R.id.edusuario);
EditText mensaje;
EditText subje;
final String nivel[]=new String[]{"Nivel","Preparatoria","Profesional"};
final String tipoc[]=new String[]{"Tipo de Constancia",
"Inscripción en el Periodo en Curso",
"Inscripción en el Periodo Inmediato Anterior",
"Inscripción con Periodo Vacacional",
"Servicio Militar Nacional",
"Inscripción con Promedio Acumulado",
"Inscripción con Promedio del Periodo Inmediato Anterior",
"Inscripción en el Periodo en Curso con Materias Inscritas",
"Inscripción en el Periodo Inmediato Anterior con Materias",
"Inscripción con Promedio del Periodo Inmediato Anterior y Promedio Acumulado",
"Inscripción en el Periodo en Curso con Materias Inscritas y Calificaciones",
"Inscripción en el Periodo Inmediato Anterior con Materias que se Cursaron y Calificaciones",
"Inscripción en el Periodo de Verano",
"Documentación en Trámite de Legalización",
"Documentación en trámite de Apostille",
"Terminación de Estudios",
"Terminación de Estudios con Promedio",
"Carta de Buena Conducta",
"Nivel de Ingles",
"Beca"};
final String[] cantidad = new String[]{"1->$20.00","2->$40.00","3->$60.00","4->$80.00","5->$100.00"};
final String[] foto = new String[]{"Si","No"};
final Spinner spinner1 = (Spinner)findViewById(R.id.spinner1);
final Spinner spinner2 = (Spinner)findViewById(R.id.spinner2);
final Spinner spinner3 = (Spinner)findViewById(R.id.spinner3);
final Spinner spinner4 = (Spinner)findViewById(R.id.spinner4);
ArrayAdapter<String> adapter =
new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, nivel);
spinner1.setAdapter(adapter);
adapter.setDropDownViewResource(
android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter(adapter);
spinner1.setOnItemSelectedListener(
new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent,
android.view.View v, int position, long id) {
nivels = new String("\nNivel: " + nivel[position]);
}
public void onNothingSelected(AdapterView<?> parent) {
nivels = new String("");
}
});
ArrayAdapter<String> adapter1 =
new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, tipoc);
spinner2.setAdapter(adapter1);
adapter1.setDropDownViewResource(
android.R.layout.simple_spinner_dropdown_item);
spinner2.setAdapter(adapter1);
spinner2.setOnItemSelectedListener(
new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent,
android.view.View v, int position1, long id) {
tipos = new String("\nTipo: " + tipoc[position1]);
}
public void onNothingSelected(AdapterView<?> parent) {
tipos = new String("");
}
});
ArrayAdapter<String> adapter2 =
new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, cantidad);
spinner3.setAdapter(adapter2);
adapter2.setDropDownViewResource(
android.R.layout.simple_spinner_dropdown_item);
spinner3.setAdapter(adapter2);
spinner3.setOnItemSelectedListener(
new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent,
android.view.View v, int position2, long id) {
cant = new String("\nCantidad: " + cantidad[position2]);
}
public void onNothingSelected(AdapterView<?> parent) {
cant = new String("");
}
});
ArrayAdapter<String> adapter3 =
new ArrayAdapter<String>(this,
android.R.layout.simple_spinner_item, foto);
spinner4.setAdapter(adapter3);
adapter3.setDropDownViewResource(
android.R.layout.simple_spinner_dropdown_item);
spinner4.setAdapter(adapter3);
spinner4.setOnItemSelectedListener(
new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parent,
android.view.View v, int position3, long id) {
fot = new String("\nFoto: " + foto[position3]);
}
public void onNothingSelected(AdapterView<?> parent) {
fot = new String("");
}
});
mensaje.setText("" + nombre.getText().toString() + "\n" + matricula.getText().toString() + nivels + tipos + cant + fot );
subje.setText("Solicitud de Constancia APP");
}
public void enviarme (View view){
Intent itSend = new Intent( android.content.Intent.ACTION_SEND);
itSend.putExtra(android.content.Intent.EXTRA_EMAIL, new String[]{"spartan-004@hotmail.com"});
itSend.putExtra(android.content.Intent.EXTRA_SUBJECT,subje.getText());
itSend.putExtra(android.content.Intent.EXTRA_TEXT, mensaje.getText());
startActivity(itSend);
}
}
但我没有发现我的错误,因为我看到了这个日志
03-18 19:26:28.065: E/AndroidRuntime(371): FATAL EXCEPTION: main
03-18 19:26:28.065: E/AndroidRuntime(371): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.UPFIM.casa/com.UPFIM.casa.Constancias}: java.lang.NullPointerException
03-18 19:26:28.065: E/AndroidRuntime(371): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569)
03-18 19:26:28.065: E/AndroidRuntime(371): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
03-18 19:26:28.065: E/AndroidRuntime(371): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
03-18 19:26:28.065: E/AndroidRuntime(371): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
03-18 19:26:28.065: E/AndroidRuntime(371): at android.os.Handler.dispatchMessage(Handler.java:99)
03-18 19:26:28.065: E/AndroidRuntime(371): at android.os.Looper.loop(Looper.java:123)
03-18 19:26:28.065: E/AndroidRuntime(371): at android.app.ActivityThread.main(ActivityThread.java:3683)
03-18 19:26:28.065: E/AndroidRuntime(371): at java.lang.reflect.Method.invokeNative(Native Method)
03-18 19:26:28.065: E/AndroidRuntime(371): at java.lang.reflect.Method.invoke(Method.java:507)
03-18 19:26:28.065: E/AndroidRuntime(371): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
03-18 19:26:28.065: E/AndroidRuntime(371): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
03-18 19:26:28.065: E/AndroidRuntime(371): at dalvik.system.NativeStart.main(Native Method)
03-18 19:26:28.065: E/AndroidRuntime(371): Caused by: java.lang.NullPointerException
03-18 19:26:28.065: E/AndroidRuntime(371): at android.app.Activity.findViewById(Activity.java:1647)
03-18 19:26:28.065: E/AndroidRuntime(371): at com.UPFIM.casa.Constancias.<init>(Constancias.java:22)
这是布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/fondo">
<ScrollView
android:layout_width="fill_parent" android:layout_height="fill_parent">
<TextView
android:id="@+id/tituloAbout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="top"
android:gravity="center"
android:text="@string/constancias"
android:textSize="15dp" />
<TextView android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/vacio"
android:paddingLeft="10dip"/>
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content"
android:text="@string/nom" android:paddingLeft="10dip"/>
<EditText
android:id="@+id/name"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingLeft="10dip"
android:inputType="textPersonName"/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:paddingLeft="10dip"
android:text="@string/Nivel" />
<Spinner
android:id="@+id/spinner1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:paddingLeft="10dip"
android:text="@string/tipo" />
<Spinner
android:id="@+id/spinner2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:paddingLeft="10dip"
android:text="@string/cant" />
<Spinner
android:id="@+id/spinner3"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:paddingLeft="10dip"
android:text="@string/foto" />
<Spinner
android:id="@+id/spinner4"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/btn1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="20dp"
android:paddingLeft="10dip"
android:text="@string/Advertencia" />
<Button
android:id="@+id/enviar"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:paddingLeft="10dip"
android:text="@string/send"
android:onClick="enviarme" />
</LinearLayout>
</ScrollView>
`