问题描述
通过一个活动应用程序崩溃了。 有人能帮我吗。 我尝试了多种方法。 在此先感谢大家。
package com.wing.test2.test2; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; public class person extends AppCompatActivity { Button submit_person; EditText user_ida,name,gander,age; //Intent patient_data = new Intent(this, patient.class); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate( savedInstanceState ); setContentView( R.layout.activity_person ); submit_person = (Button) findViewById( R.id.submit_person ); user_ida = (EditText) findViewById( R.id.userid ); name = (EditText) findViewById( R.id.name ); gander = (EditText) findViewById( R.id.gander ); age = (EditText) findViewById( R.id.age ); submit_person.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View arg0) { Log.v( "EditText", user_ida.getText().toString() ); Log.v( "EditText", name.getText().toString() ); Log.v( "EditText", gander.getText().toString() ); Log.v( "EditText", age.getText().toString() ); String user_id = user_ida.getText().toString(); String user_name = name.getText().toString(); String user_gander = gander.getText().toString(); String user_a = age.getText().toString(); Intent patient_data =new Intent(getApplicationContext(),patient.class); patient activity = new patient(); activity.displayInfo(user_name,user_gander,user_id,user_a); startActivity(patient_data); /*patient_data.putExtra("id",user_id); patient_data.putExtra( "name", user_name ); patient_data.putExtra( "gander", user_gander ); patient_data.putExtra( "age", user_a ); startActivity( patient_data ); */ } } ); } }
=============================================
其他活动
包com.wing.test2.test2;
import android.content.Intent; import android.os.Bundle; import android.util.Log; import android.widget.EditText; import android.widget.TextView; public class patient extends person { //Intent patient_data = getIntent(); person patient_data = new person(); TextView textView2,textView,textView3,textView4; public void onCreate(Bundle savedInstanceState) { super.onCreate( savedInstanceState ); setContentView(R.layout.patient); Log.v( "EditText", patient_data.toString() ); /* String user_id = patient_data.getStringExtra("id"); String name = patient_data.getStringExtra("name"); String gander = patient_data.getStringExtra("gander"); String user_age = patient_data.getStringExtra("age"); textView2 = (TextView) findViewById(R.id.textView2); textView = (TextView) findViewById(R.id.textView); textView3 = (EditText) findViewById(R.id.textView3); textView4 = (TextView) findViewById(R.id.textView4); textView2.setText(user_id); textView.setText(name); textView3.setText(gander); textView4.setText(user_age);*/ } public void displayInfo(String name, String gander, String user_ida, String age) { textView2 = (TextView) findViewById(R.id.textView2); textView = (TextView) findViewById(R.id.textView); textView3 = (EditText) findViewById(R.id.textView3); textView4 = (TextView) findViewById(R.id.textView4); textView2.setText( (CharSequence) user_ida ); textView.setText( (CharSequence) name ); textView3.setText( (CharSequence) gander ); textView4.setText( (CharSequence) age ); } }
这是错误日志
02-10 02:35:08.651 19910-19910/com.wing.test2.test2 D/ViewRootImpl: ViewPostImeInputStage ACTION_DOWN
02-10 02:35:08.721 19910-19910/com.wing.test2.test2 V/EditText: 12
02-10 02:35:08.731 19910-19910/com.wing.test2.test2 V/EditText: 12
02-10 02:35:08.731 19910-19910/com.wing.test2.test2 V/EditText: 233
02-10 02:35:08.731 19910-19910/com.wing.test2.test2 V/EditText: Wer
02-10 02:35:08.741 19910-19910/com.wing.test2.test2 D/AndroidRuntime: Shutting down VM
02-10 02:35:08.751 19910-19910/com.wing.test2.test2 E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.wing.test2.test2, PID: 19910
java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.Window$Callback android.view.Window.getCallback()' on a null object reference
at android.support.v7.app.AppCompatDelegateImplBase.<init>(AppCompatDelegateImplBase.java:68)
at android.support.v7.app.AppCompatDelegateImplV7.<init>(AppCompatDelegateImplV7.java:146)
at android.support.v7.app.AppCompatDelegateImplV11.<init>(AppCompatDelegateImplV11.java:28)
at android.support.v7.app.AppCompatDelegateImplV14.<init>(AppCompatDelegateImplV14.java:41)
at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:190)
at android.support.v7.app.AppCompatDelegate.create(AppCompatDelegate.java:172)
at android.support.v7.app.AppCompatActivity.getDelegate(AppCompatActivity.java:512)
at android.support.v7.app.AppCompatActivity.findViewById(AppCompatActivity.java:184)
at com.wing.test2.test2.patient.displayInfo(patient.java:39)
at com.wing.test2.test2.person$1.onClick(person.java:47)
at android.view.View.performClick(View.java:5076)
at android.view.View$PerformClick.run(View.java:20279)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5910)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1405)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1200)
02-10 02:35:26.458 19910-19910/com.wing.test2.test2 I/Process: Sending signal. PID: 19910 SIG: 9
1楼
尝试一下:在您的第一次活动中
Intent patient_data =new Intent(getApplicationContext(),patient.class);
patient_data.putExtra("id",user_id);
patient_data.putExtra( "name", user_name );
patient_data.putExtra( "gander", user_gander );
patient_data.putExtra( "age", user_a );
startActivity(patient_data);
同时删除:
patient activity = new patient();
activity.displayInfo(user_name,user_gander,user_id,user_a);
现在在第二个活动中使用:
public class patient extends Activity {
person patient_data = new person();
TextView textView2,textView,textView3,textView4;
public void onCreate(Bundle savedInstanceState)
{
super.onCreate( savedInstanceState );
setContentView(R.layout.patient);
Log.v( "EditText", patient_data.toString() );
Intent patient_data = getIntent();
String user_id = patient_data.getStringExtra("id");
String name = patient_data.getStringExtra("name");
String gander = patient_data.getStringExtra("gander");
String user_age = patient_data.getStringExtra("age");
textView2 = (TextView) findViewById(R.id.textView2);
textView = (TextView) findViewById(R.id.textView);
textView3 = (EditText) findViewById(R.id.textView3);
textView4 = (TextView) findViewById(R.id.textView4);
textView2.setText(user_id);
textView.setText(name);
textView3.setText(gander);
textView4.setText(user_age);
}
}
2楼
您需要在清单中声明它。 (根据错误登录图片)
您将textView定义为EditText。
textView3 =(EditText / 用TextView替换 /)findViewById(R.id.textView3);