Хорошо, сначала я очень плохо знаком с программированием на Android и пытался сделать что-то довольно простое и простое. Программа, которая содержит различные изображения и в зависимости от того, какую кнопку вы нажимаете, показывает ее. Вместо того, чтобы создавать новый xml-файл для каждой картинки, которую я хотел установить в качестве фона, я подумал о том, чтобы просто сделать один xml-файл и затем попросить его изменить фон. так что я пытался использовать это:
public class Picture extends Activity{
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
Intent intent=getIntent();
int picture=intent.getIntExtra("picture", 22);
ImageView image = (ImageView) findViewById(R.id.pansarvagn);
image.setBackgroundResource(picture);
setContentView(R.layout.tmp2);
}
}
и тогда я сделал это:
public void displayPicture(int pictureresource){
Intent intent = new Intent();
intent.putExtra("picture", pictureresource);
intent.setClass(getApplicationContext(), Picture.class);
startActivity(intent);
}
и, наконец, вызов кнопки выглядит следующим образом:
ImageView image = (ImageView) findViewById(R.id.pansarvagn);
Button spgsu8 = (Button) findViewById(R.id.su8);
spgsu8.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
image.setBackgroundResource(R.drawable.su8);
displayPicture(R.drawable.su8);
, а затем это в моем XML-файле, или хорошо, я попробовал кучу вещей, но я хочу позвонить по идентификатору и изменить рис / фон:
<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/su8" android:id="@+id/pansarvagn"></ImageView>
но как бы я ни крутил, я все равно придумаю:
08-30 06:47:07.568: ERROR/AndroidRuntime(449): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.wot/com.example.wot.Picture}: java.lang.NullPointerException
08-30 06:47:07.568: ERROR/AndroidRuntime(449): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647)
08-30 06:47:07.568: ERROR/AndroidRuntime(449): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
08-30 06:47:07.568: ERROR/AndroidRuntime(449): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
08-30 06:47:07.568: ERROR/AndroidRuntime(449): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
08-30 06:47:07.568: ERROR/AndroidRuntime(449): at android.os.Handler.dispatchMessage(Handler.java:99)
08-30 06:47:07.568: ERROR/AndroidRuntime(449): at android.os.Looper.loop(Looper.java:123)
08-30 06:47:07.568: ERROR/AndroidRuntime(449): at android.app.ActivityThread.main(ActivityThread.java:3683)
08-30 06:47:07.568: ERROR/AndroidRuntime(449): at java.lang.reflect.Method.invokeNative(Native Method)
08-30 06:47:07.568: ERROR/AndroidRuntime(449): at java.lang.reflect.Method.invoke(Method.java:507)
08-30 06:47:07.568: ERROR/AndroidRuntime(449): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
08-30 06:47:07.568: ERROR/AndroidRuntime(449): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
08-30 06:47:07.568: ERROR/AndroidRuntime(449): at dalvik.system.NativeStart.main(Native Method)
08-30 06:47:07.568: ERROR/AndroidRuntime(449): Caused by: java.lang.NullPointerException
08-30 06:47:07.568: ERROR/AndroidRuntime(449): at com.example.wot.Picture.onCreate(Picture.java:17)
08-30 06:47:07.568: ERROR/AndroidRuntime(449): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
08-30 06:47:07.568: ERROR/AndroidRuntime(449): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611)
08-30 06:47:07.568: ERROR/AndroidRuntime(449): ... 11 more
Я надеюсь, что вы, ребята, можете понять это:>