Android 应用程序在启动时会崩溃';我不知道发生了什么,我还将所有活动添加到manifest.xml中
这是我的布局文件Android 应用程序在启动时会崩溃';我不知道发生了什么,我还将所有活动添加到manifest.xml中,android,fatal-error,runtimeexception,android-runtime,Android,Fatal Error,Runtimeexception,Android Runtime,这是我的布局文件 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<EditText
android:id="@+id/rto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="RTO Number" >
<requestFocus />
</EditText>
<EditText
android:id="@+id/from"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="From" />
<EditText
android:id="@+id/to"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ems="10"
android:hint="To"/>
<Button
android:id="@+id/start_tracking"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="START TRACKING" />
</LinearLayout>
07-20 05:48:24.134:E/AndroidRuntime(1538):在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261)
07-20 05:48:24.134:E/AndroidRuntime(1538):在android.app.ActivityThread.access$600(ActivityThread.java:141)
07-20 05:48:24.134:E/AndroidRuntime(1538):在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
07-20 05:48:24.134:E/AndroidRuntime(1538):在android.os.Handler.dispatchMessage(Handler.java:99)上
07-20 05:48:24.134:E/AndroidRuntime(1538):在android.os.Looper.loop(Looper.java:137)
07-20 05:48:24.134:E/AndroidRuntime(1538):在android.app.ActivityThread.main(ActivityThread.java:5103)上
07-20 05:48:24.134:E/AndroidRuntime(1538):位于java.lang.reflect.Method.Invokenactive(本机方法)
07-20 05:48:24.134:E/AndroidRuntime(1538):位于java.lang.reflect.Method.invoke(Method.java:525)
07-20 05:48:24.134:E/AndroidRuntime(1538):在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737)
07-20 05:48:24.134:E/AndroidRuntime(1538):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553)
07-20 05:48:24.134:E/AndroidRuntime(1538):在dalvik.system.NativeStart.main(本机方法)
07-20 05:48:24.134:E/AndroidRuntime(1538):由以下原因引起:java.lang.NullPointerException
07-20 05:48:24.134:E/AndroidRuntime(1538):在android.app.Activity.findViewById(Activity.java:1853)
07-20 05:48:24.134:E/AndroidRuntime(1538):在com.example.gsrtc_driver.MainActivity。(MainActivity.java:24)
07-20 05:48:24.134:E/AndroidRuntime(1538):位于java.lang.Class.newInstanceImpl(本机方法)
07-20 05:48:24.134:E/AndroidRuntime(1538):在java.lang.Class.newInstance(Class.java:1130)上
07-20 05:48:24.134:E/AndroidRuntime(1538):在android.app.Instrumentation.newActivity(Instrumentation.java:1061)上
07-20 05:48:24.134:E/AndroidRuntime(1538):在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2128)
2007-20 05:48:24.134:E/AndroidRuntime(1538):。。。还有11个
androidmanifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.gsrtc_driver"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="in.online.gsrtc.DRIVER.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="in.online.gsrtc.DRIVER.Start_Tracking"
android:label="@string/title_activity_start__tracking" >
</activity>
</application>
</manifest>
这是我的manifest.xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.gsrtc_driver"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name="in.online.gsrtc.DRIVER.MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="in.online.gsrtc.DRIVER.Start_Tracking"
android:label="@string/title_activity_start__tracking" >
</activity>
</application>
</manifest>
您的活动中的findViewById似乎存在问题 你能发布你的活动代码和活动布局代码吗 编辑:
public class ExampleActivity extends Activity {
private EditText mSampleEdit;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mSampleEdit = (EditText) findViewById(R.id.sampleEdit);
}
}
我明白了。。如果您试图在尚未创建视图时分配小部件,请尝试以下代码: 更改:
EditText RTO = (EditText) findViewById(R.id.rto);
EditText FROM = (EditText) findViewById(R.id.from);
EditText TO = (EditText) findViewById(R.id.to);
Button Start_Tracking = (Button) findViewById(R.id.start_tracking);
String RTO_NO = RTO.getText().toString();
String FROM_STRING = FROM.getText().toString();
String TO_STRING = TO.getText().toString();
致:
然后,在onCreate中:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RTO = (EditText) findViewById(R.id.rto);
FROM = (EditText) findViewById(R.id.from);
TO = (EditText) findViewById(R.id.to);
Start_Tracking = (Button) findViewById(R.id.start_tracking);
RTO_NO = RTO.getText().toString();
FROM_STRING = FROM.getText().toString();
TO_STRING = TO.getText().toString();
Start_Tracking.setOnClickListener(this);
}
您是否在AndroidManifest.xml中添加了您的活动?请发布更多的解释和代码的相关部分。是的,我在manifest.xml中添加了您的manifest.xml和完整的stacktrace?这里是MainActivity.java中的@AleksanderLidtke我添加了单击listener on按钮并在其中添加额外的值[Intent starttracking=new Intent(MainActivity.this,Start\u Tracking.class);starttracking.putExtra(Bus\u lat,Bus\u latitude);starttracking.putExtra(Bus\u Long,Bus\u经度);starttracking.putExtra(RTO\u NO,TAG\u RTO);starttracking.putExtra(FROM,TAG\u FROM);starttracking.PutExtrack(TO,TAG\u STRING,TAG\u TO);起始触觉(起始追踪);]在你的清单中,你能试着用小写字母写packageNames吗?我还看到了Java惯例方面的其他奇怪的事情。例如,我会将Start_Tracking重命名为StartTracking。这也是改进代码的一个很好的起点。是的,但这意味着我必须从一开始就完成整个项目,而这种错误通常来自较低的case软件包名称也是…你能提供准确的解决方案吗?我从过去10天就陷入了这个问题。在onCreate方法中移动findViewById。你不能像以前那样定义它们。定义你的小部件并在onCreate方法中使用idi为它们分配相应的视图不知道findViewById方法无法在外部和als中定义o当我想在MyLocationListener类中使用edittext的值时,它会显示错误,所以我在全局范围内使用了它。但在逻辑上是错误的。在onCreate中,活动知道要使用的布局。如果您喜欢,则活动不知道从何处获取edittext。我建议您更改代码,就像我在编辑的答案中所做的那样。保留edittextext作为一个实例变量,但在onCreateyou中初始化它会发现错误,我会尝试这个解决方案来解决我的错误。
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RTO = (EditText) findViewById(R.id.rto);
FROM = (EditText) findViewById(R.id.from);
TO = (EditText) findViewById(R.id.to);
Start_Tracking = (Button) findViewById(R.id.start_tracking);
RTO_NO = RTO.getText().toString();
FROM_STRING = FROM.getText().toString();
TO_STRING = TO.getText().toString();
Start_Tracking.setOnClickListener(this);
}