【发布时间】:2016-12-13 13:34:10
【问题描述】:
错误日志:
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.sellingbcom.myapplicationa/com.example.sellingbcom.myapplicationa.DisplayActivity}:java.lang.ClassCastException: android.app.Application 不能被强制转换 到 com.example. sellbcom.myapplicationa.GlobalActivity 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2110) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135) 在 android.app.ActivityThread.access$700(ActivityThread.java:143) 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1241) 在 android.os.Handler.dispatchMessage(Handler.java:99) 在 android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4950) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:511) atcom.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1004) 在 com.android.internal.os.ZygoteInit.main(ZygoteInit.java:771) 在 dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.ClassCastException: android.app.Application不能转换为 com.example.salesbcom.myapplicationa.GlobalActivity 在 com.example. sellbcom.myapplicationa.DisplayActivity.onCreate(DisplayActivity.java:17) 在 android.app.Activity.performCreate(Activity.java:5177) 在 android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094) 在 android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2074) 在 android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2135)
at android.app.ActivityThread.access$700(ActivityThread.java:143) atandroid.app.ActivityThread$H.handleMessage(ActivityThread.java:1241) 在 android.os.Handler.dispatchMessage(Handler.java:99) 在 android.os.Looper.loop(Looper.java:137) 在 android.app.ActivityThread.main(ActivityThread.java:4950) 在 java.lang.reflect.Method.invokeNative(Native Method) 在 java.lang.reflect.Method.invoke(Method.java:511)
我正在尝试设置一个全局变量类,但它崩溃了。我需要知道我错过了什么?
/* 全局类
public class GlobalActivity extends AppCompatActivity {
private int albumId;
public int getAlbumId() {
return albumId;
}
public void setAlbumId(int albumId) {
this.albumId = albumId;
}
}
/* 清单
<activity android:name=".DisplayActivity"></activity>
<activity android:name=".GlobalActivity"></activity>
/* 活动主界面
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int x=10;
final GlobalActivity globalAlbum = (GlobalActivity) getApplicationContext();
globalAlbum.setAlbumId(x);
}
public void dispAct(View view) {
Intent i = new Intent(this, DisplayActivity.class);
startActivity(i);
}
}
/* 显示活动
public class DisplayActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.display);
final GlobalActivity globalAlbum = (GlobalActivity) getApplicationContext();
int x = globalAlbum.getAlbumId();
TextView songLyric = (TextView) findViewById(R.id.disp);
songLyric.setText(x);
}
}
/* 活动 XML
<LinearLayout 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"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.sellingbcom.myapplicationa.MainActivity">
<Button
android:id="@+id/tgl_status"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:focusable="false"
android:clickable="false"
android:onClick="dispAct"
android:text="PICK"
/>
</LinearLayout>
/* 显示 XML
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/disp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="" />
</LinearLayout>
【问题讨论】:
-
也可以发布错误日志。