Bilder an mehrere Fenster der App setzen

Z

zblack

Gast
hallo alle android freunde.
ich habe eine frage.
ich habe im Ordner drawable mehrere Bilder. Diese Bilder habe ich auf ImageButtons gepackt. Jetzt habe ich mehrere xml seiten mit ImageViews auf den die Bilder sein sollen. Die xml Seiten sind alle unterschiedlich aufgebaut und für unterschiedliche Zwecke gedacht.
Wie kann ich es so machen, dass beim klicken eines bestimmten ImageButtons, das Bild welches auf diesem Imagebutton ist, in allen Fenstern der App erscheint ?

Z.b die App hat insgesamt 6 Seiten. Wenn man beim Starten der App auf Button mit Mickey Mouse klickt, dann erscheint das BIld von Mickey Mouse in auf jedem Fenster der App.

MfG.
 
musst dir halt das geklickte bild bzw dessen id speichern und bei jeder activity dann setzen

stichwort: sharedpreferences oder intent extras
 
swordi schrieb:
musst dir halt das geklickte bild bzw dessen id speichern und bei jeder activity dann setzen

stichwort: sharedpreferences oder intent extras

Danke für die Antwort. Ich bin leider ein totaler Anfänger in Sachen Android.
Meinst du das mit intent extras soetwas wie : Intent x = new Intent (....); x.putExtras (...) ?
Kannst du vlt ein kleines Beispiel machen wie du das mit ids der Bilder abspeichern meinst ? Vielen dank.
 
Habe mir da so ein Code gebastelt.
Die erste seite mit den Buttons wird angezeigt , doch beim Klicken auf Button explodiert die App.

Code:
public class TestActivity extends Activity implements OnClickListener{
    /** Called when the activity is first created. */
    ImageButton button_ai;
    ImageButton button_test;
    ImageView imageView;
    ImageView imageView2;

    Bitmap bitmap_ai;
    Bitmap bitmap_test;
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
       button_ai = (ImageButton) findViewById(R.id.imageButton1);
       button_test = (ImageButton) findViewById(R.id.imageButton2);
       imageView = (ImageView) findViewById(R.id.iv1);
       imageView2 = (ImageView) findViewById(R.id.iv2);
       bitmap_ai = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher);
       bitmap_test = BitmapFactory.decodeResource(getResources(), R.drawable.test);
       button_ai.setOnClickListener(this);
       button_test.setOnClickListener(this);
    }
    
    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        switch (v.getId())
        {
        case R.id.imageButton1:
            imageView.setImageBitmap (bitmap_ai);
            imageView2.setImageBitmap (bitmap_ai);
            Intent i = new Intent (this, t2.class);
            startActivity(i);
            break;
            
        case R.id.imageButton2:
            imageView.setImageBitmap (bitmap_test);
            imageView2.setImageBitmap (bitmap_test);
            Intent i2 = new Intent (this, t3.class);
            startActivity(i2);
            break;
        }
    }
}
 
sorry, aber wenn du eine antwort willst, solltest du "explodiert" so ausdrücken, dass ein entwickler damit was anfangen kann.

=> logcat.
 
entschuldigung für meine ausdrucksweise.
beim klicken auf das Button kommt die Meldung : "The Aplication Test (process t.est) has stopped unexpectedly. Please try again.

Logcat sagt dann folgendes :
11-01 22:23:37.115: D/AndroidRuntime(238): Shutting down VM
11-01 22:23:37.115: W/dalvikvm(238): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
11-01 22:23:37.115: E/AndroidRuntime(238): Uncaught handler: thread main exiting due to uncaught exception
11-01 22:23:37.135: E/AndroidRuntime(238): java.lang.NullPointerException
11-01 22:23:37.135: E/AndroidRuntime(238): at t.est.TestActivity.onClick(TestActivity.java:49)
11-01 22:23:37.135: E/AndroidRuntime(238): at android.view.View.performClick(View.java:2364)
11-01 22:23:37.135: E/AndroidRuntime(238): at android.view.View.onTouchEvent(View.java:4179)
11-01 22:23:37.135: E/AndroidRuntime(238): at android.view.View.dispatchTouchEvent(View.java:3709)
11-01 22:23:37.135: E/AndroidRuntime(238): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
11-01 22:23:37.135: E/AndroidRuntime(238): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
11-01 22:23:37.135: E/AndroidRuntime(238): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
11-01 22:23:37.135: E/AndroidRuntime(238): at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884)
11-01 22:23:37.135: E/AndroidRuntime(238): at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1659)
11-01 22:23:37.135: E/AndroidRuntime(238): at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107)
11-01 22:23:37.135: E/AndroidRuntime(238): at android.app.Activity.dispatchTouchEvent(Activity.java:2061)
11-01 22:23:37.135: E/AndroidRuntime(238): at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1643)
11-01 22:23:37.135: E/AndroidRuntime(238): at android.view.ViewRoot.handleMessage(ViewRoot.java:1691)
11-01 22:23:37.135: E/AndroidRuntime(238): at android.os.Handler.dispatchMessage(Handler.java:99)
11-01 22:23:37.135: E/AndroidRuntime(238): at android.os.Looper.loop(Looper.java:123)
11-01 22:23:37.135: E/AndroidRuntime(238): at android.app.ActivityThread.main(ActivityThread.java:4363)
11-01 22:23:37.135: E/AndroidRuntime(238): at java.lang.reflect.Method.invokeNative(Native Method)
11-01 22:23:37.135: E/AndroidRuntime(238): at java.lang.reflect.Method.invoke(Method.java:521)
11-01 22:23:37.135: E/AndroidRuntime(238): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
11-01 22:23:37.135: E/AndroidRuntime(238): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
11-01 22:23:37.135: E/AndroidRuntime(238): at dalvik.system.NativeStart.main(Native Method)
11-01 22:23:37.175: I/dalvikvm(238): threadid=7: reacting to signal 3
11-01 22:23:37.216: I/dalvikvm(238): Wrote stack trace to '/data/anr/traces.txt'
 
null pointer in zeile 49 ... ich nehme mal an, daß eine image view null ist. sind beide image views in deiner main.xml oder in verschiedenen layouts? weil dann muß du für die 2. image view erst mal inflaten ...
 
Tom299 schrieb:
null pointer in zeile 49 ... ich nehme mal an, daß eine image view null ist. sind beide image views in deiner main.xml oder in verschiedenen layouts? weil dann muß du für die 2. image view erst mal inflaten ...

ja ,die imageViews sind in verschiedenen xmls.
wie soll ich die inflaten ?
 
z.B. so:
Code:
        LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        LinearLayout layoutUpdate = (LinearLayout)inflater.inflate(R.layout.service_update, null);
        TextView tvUpdate = (TextView)layoutUpdate.findViewById(R.id.service_update_tvInfo);
        if (tvUpdate != null) {
            System.out.println("juhuuuu");
        }
 

Ähnliche Themen

M
Antworten
3
Aufrufe
169
moin
M
FabianDev
Antworten
5
Aufrufe
561
swa00
swa00
Manny87
  • Manny87
Antworten
11
Aufrufe
166
swa00
swa00
Zurück
Oben Unten