Android 活动之间的沟通
我有一项活动,比如说活动AAndroid 活动之间的沟通,android,imageview,android-activity,Android,Imageview,Android Activity,我有一项活动,比如说活动A public class ActivityA extends Activity{ static int id_original; . . . id_original = R.drawable.afra_o; } afra_o是另一个活动布局的图像视图。假设活动B。在活动A中,我想将id_original设置为一些可绘制的,然后我想通过引用活动B中的id_original来更改B的ImageView public class ActivityB extends Act
public class ActivityA extends Activity{
static int id_original;
.
.
.
id_original = R.drawable.afra_o;
}
afra_o是另一个活动布局的图像视图。假设活动B。在活动A中,我想将id_original设置为一些可绘制的,然后我想通过引用活动B中的id_original来更改B的ImageView
public class ActivityB extends Activity {
ImageView view_correct = (ImageView)findViewById(R.id.image_original);
view_correct.setImageResource(ActivityA.id_original);
setContentView(R.layout.activity_B);
像这个。但我也有这样的错误
03-06 11:57:55.845: E/AndroidRuntime(10791): FATAL EXCEPTION: main
03-06 11:57:55.845: E/AndroidRuntime(10791): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.turkishlogoquiz/com.example.turkishlogoquiz.CorrectActivity}: java.lang.NullPointerException
03-06 11:57:55.845: E/AndroidRuntime(10791): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2100)
03-06 11:57:55.845: E/AndroidRuntime(10791): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2125)
03-06 11:57:55.845: E/AndroidRuntime(10791): at android.app.ActivityThread.access$600(ActivityThread.java:140)
03-06 11:57:55.845: E/AndroidRuntime(10791): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1227)
03-06 11:57:55.845: E/AndroidRuntime(10791): at android.os.Handler.dispatchMessage(Handler.java:99)
03-06 11:57:55.845: E/AndroidRuntime(10791): at android.os.Looper.loop(Looper.java:137)
03-06 11:57:55.845: E/AndroidRuntime(10791): at android.app.ActivityThread.main(ActivityThread.java:4898)
03-06 11:57:55.845: E/AndroidRuntime(10791): at java.lang.reflect.Method.invokeNative(Native Method)
03-06 11:57:55.845: E/AndroidRuntime(10791): at java.lang.reflect.Method.invoke(Method.java:511)
03-06 11:57:55.845: E/AndroidRuntime(10791): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1008)
03-06 11:57:55.845: E/AndroidRuntime(10791): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:775)
03-06 11:57:55.845: E/AndroidRuntime(10791): at dalvik.system.NativeStart.main(Native Method)
03-06 11:57:55.845: E/AndroidRuntime(10791): Caused by: java.lang.NullPointerException
03-06 11:57:55.845: E/AndroidRuntime(10791): at com.example.turkishlogoquiz.CorrectActivity.onCreate(CorrectActivity.java:20)
03-06 11:57:55.845: E/AndroidRuntime(10791): at android.app.Activity.performCreate(Activity.java:5206)
03-06 11:57:55.845: E/AndroidRuntime(10791): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1094)
03-06 11:57:55.845: E/AndroidRuntime(10791): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2064)
任何帮助,请。似乎
ImageView\u correct=(ImageView)findviewbyd(R.id.image\u original)代码>返回空指针。在通过调用setContentView(R.layout.activity_B)设置内容视图之前,不能调用findViewById()
代码>
看看这个:
- onCreate(Bundle)是初始化活动的地方。最重要的是,在这里,您通常会使用定义UI的布局资源调用setContentView(int),并使用findViewById(int)检索该UI中需要以编程方式进行交互的小部件
我处理了这个问题。我使用intent.putExtra将数据从一个活动传递到另一个活动。通过使用它,我可以根据活动A动态地设置活动B的映像。感谢您的回答。您什么时候在活动A中设置id_original的值?您的活动B是否总是在活动A之后开始?此外,在堆栈跟踪中,“CorrectActivity”是否对应于activityA或ActivityB?@ocry,您是否在AndroidManifest.xml文件中定义了这两个活动?我在活动A中的onCreate中设置了。是活动B始终在A之后启动。CorrectActivity是B。@Jacob是,这两个活动都已定义。如果我删除视图的setImage,它将正常运行。@ocry,然后请上载这两个活动的代码