Wie öffne ich mit nen neuen Activity in einem Listview

  • Antworten:46
  • OffenNicht stickyNicht beantwortet
  • Forum-Beiträge: 1.793

26.10.2013 11:22:37 via App

Es ist mir wirklich schleierhaft, wie du zu diesem Code kommst.

1. Es dürfte klar sein, dass man mit getIntExtra(...) keine Extras hinzufügt.
2. Warum willst du nicht einfach die Position übergeben, sondern ärgerst dich mit getItem() usw. rum?
3. In der zweiten Activity muss das Array natürlich auch existieren, bzw. nur in der zweiten.

Lies dir bitte nochmal ein Tut für Intent/Extras durch oder die d.android.com Seite zum Intent.

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

  • Forum-Beiträge: 184

26.10.2013 11:33:10 via Website

Upps es sollte eigentlich putExtra sein :)
ich habe den wert jetzt übergeben also
1intent.putExtra("position", position);

dann habe ich das Array der Bilder in die 2 Activity gepackt.

So jetzt das hoffentlich letzt problem, ich habe jetzt in der 2 activity das aray und dann in der onCreat methode gesagt:
1Intent intent = getIntent();
2 iView.setImageResource(recepies[position]);

Jetzt habe ich nur das Problem das er bei position mir sagt das er die Variable nicht gefunden hat. Und ich habe mir gestern verdammt viele Intent Tuts angeschaut und gelesen . Sry für die umstände :/

Und das mit dem getItem() habe ich in einem tutorial gesehen und es damit versucht :)

Lg
Philipp

Ein Fehler ist kein Fehler es ist ein Feature///https://play.google.com/store/apps/developer?id=Nimal+Development

  • Forum-Beiträge: 184

26.10.2013 12:48:57 via Website

So habe jetet das mit dem übergeben hinbekommen ist nur logisch .... hab auf 'm schlauch gestanden.
Jetzt stürtzt die app nur noch ab wenn ich auf ein Item drücke.#
1package de.nimal.uu_matter;
2
3import android.app.Activity;
4import android.content.Intent;
5import android.os.Bundle;
6import android.widget.ImageView;
7
8public class Recepies extends Activity {
9 private ImageView iView ;
10 private int mId;
11
12 public static final Integer[] recepies = {
13 R.drawable.abone, R.drawable.acactus, R.drawable.achisseledstone, R.drawable.aclay,
14 R.drawable.acoal, R.drawable.acocoabeans, R.drawable.acopperore, R.drawable.adiamond, R.drawable.afeather, R.drawable.aflint,R.drawable.aglass ,
15 R.drawable.aglowstone ,R.drawable.agoldore, R.drawable.agrassblock, R.drawable.agunpowder, R.drawable.ainksack, R.drawable.airidiumore,
16 R.drawable.aironore, R.drawable.alapislazuli, R.drawable.alava, R.drawable.amossstone, R.drawable.amycelium, R.drawable.anetherrack,
17 R.drawable.aobsidian, R.drawable.aredstone, R.drawable.asandstone, R.drawable.asnowball, R.drawable.asnowblock,
18 R.drawable.astickyresin, R.drawable.astone, R.drawable.asugarcane, R.drawable.atinore, R.drawable.avines, R.drawable.awater,
19 R.drawable.awood, R.drawable.awool};
20
21
22 @Override
23 protected void onCreate(Bundle savedInstanceState) {
24 super.onCreate(savedInstanceState);
25 setContentView(R.layout.activity_recepies);
26 iView.findViewById(R.id.imageView1);
27
28 mId = getIntent().getIntExtra("position ", -1);
29 iView.setImageResource(recepies[mId]);
30
31 }
32}

er zeigt mir den fehler bei
1iView.setImageResource(recepies[mId]);
an hier der log eintrag :
110-26 12:46:40.161: E/AndroidRuntime(17531): FATAL EXCEPTION: main
210-26 12:46:40.161: E/AndroidRuntime(17531): java.lang.RuntimeException: Unable to start activity ComponentInfo{de.nimal.uu_matter/de.nimal.uu_matter.Recepies}: java.lang.NullPointerException
310-26 12:46:40.161: E/AndroidRuntime(17531): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2247)
410-26 12:46:40.161: E/AndroidRuntime(17531): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2297)
510-26 12:46:40.161: E/AndroidRuntime(17531): at android.app.ActivityThread.access$700(ActivityThread.java:152)
610-26 12:46:40.161: E/AndroidRuntime(17531): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1282)
710-26 12:46:40.161: E/AndroidRuntime(17531): at android.os.Handler.dispatchMessage(Handler.java:99)
810-26 12:46:40.161: E/AndroidRuntime(17531): at android.os.Looper.loop(Looper.java:137)
910-26 12:46:40.161: E/AndroidRuntime(17531): at android.app.ActivityThread.main(ActivityThread.java:5328)
1010-26 12:46:40.161: E/AndroidRuntime(17531): at java.lang.reflect.Method.invokeNative(Native Method)
1110-26 12:46:40.161: E/AndroidRuntime(17531): at java.lang.reflect.Method.invoke(Method.java:511)
1210-26 12:46:40.161: E/AndroidRuntime(17531): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
1310-26 12:46:40.161: E/AndroidRuntime(17531): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
1410-26 12:46:40.161: E/AndroidRuntime(17531): at dalvik.system.NativeStart.main(Native Method)
1510-26 12:46:40.161: E/AndroidRuntime(17531): Caused by: java.lang.NullPointerException
1610-26 12:46:40.161: E/AndroidRuntime(17531): at de.nimal.uu_matter.Recepies.onCreate(Recepies.java:26)
1710-26 12:46:40.161: E/AndroidRuntime(17531): at android.app.Activity.performCreate(Activity.java:5250)
1810-26 12:46:40.161: E/AndroidRuntime(17531): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097)
1910-26 12:46:40.161: E/AndroidRuntime(17531): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
2010-26 12:46:40.161: E/AndroidRuntime(17531): ... 11 more


Danke für die hilfe!
LG
Philipp

— geändert am 26.10.2013 12:49:25

Ein Fehler ist kein Fehler es ist ein Feature///https://play.google.com/store/apps/developer?id=Nimal+Development

Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 9.203

26.10.2013 13:24:56 via Website

Welche Zahl ist die Variable mId?
ist diese im array vorhanden?
Als absicherung vielleicht so etwas machen:

1iView.findViewById(R.id.imageView1);
2 mId = getIntent().getIntExtra("position ", -1);
3if(mId != -1)
4{
5 iView.setImageResource(recepies[mId]);
6}
7else
8{
9Log.e("Fehler:","Der index des ligt auserhalb des Bereichs");
10}

LG Pascal //It's not a bug, it's a feature. :) ;)

Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 9.203

26.10.2013 14:01:41 via Website

Also der Fehler ist der:
1Caused by: java.lang.NullPointerException
21610-26 12:46:40.161: E/AndroidRuntime(17531): at de.nimal.uu_matter.Recepies.onCreate(Recepies.java:26)
und in deiner Recepies.java zeile 26 steht:
1iView.findViewById(R.id.imageView1);

Stimmt die ID der ImageView mit der ID der ImageView auf dem "R.layout.activity_recepies" überein?

LG Pascal //It's not a bug, it's a feature. :) ;)

Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 9.203

26.10.2013 14:26:40 via Website

Hmmm, das ist dann irgendwie Komisch

LG Pascal //It's not a bug, it's a feature. :) ;)

  • Forum-Beiträge: 184

26.10.2013 14:29:18 via Website

Hier kuck mal da steht ja auch die id uns alles (bei der contetnDescription nicht verwirren lassen :) )
1<ImageView
2 android:id="@+id/imageView1"
3 android:layout_width="wrap_content"
4 android:layout_height="wrap_content"
5 android:layout_alignParentTop="true"
6 android:layout_centerHorizontal="true"
7 android:layout_marginTop="60dp"
8 android:contentDescription="@string/hello_world"
9 android:src="@null" />

Ein Fehler ist kein Fehler es ist ein Feature///https://play.google.com/store/apps/developer?id=Nimal+Development

Pascal P.
  • Mod
  • Blogger
  • Forum-Beiträge: 9.203

26.10.2013 14:34:45 via Website

Lass mal den src tag weg

LG Pascal //It's not a bug, it's a feature. :) ;)

  • Forum-Beiträge: 184

26.10.2013 14:42:02 via Website

Wenn ich den ImageView hier deklariere:
1@Override
2 protected void onCreate(Bundle savedInstanceState) {
3 super.onCreate(savedInstanceState);
4 setContentView(R.layout.activity_recepies);
5
6 ImageView iView = (ImageView)findViewById(R.id.imageView1);
7
8
9 position = getIntent().getIntExtra("position ", -1);
10 iView.setImageResource(recepies[position]);

zeigt er im log die fehler meldung an:
110-26 14:40:27.081: E/AndroidRuntime(11414): at de.nimal.uu_matter.Recepies.onCreate(Recepies.java:30)

Ein Fehler ist kein Fehler es ist ein Feature///https://play.google.com/store/apps/developer?id=Nimal+Development

  • Forum-Beiträge: 184

26.10.2013 14:49:25 via Website

Ich hatte das edit nicht gesehen :D
Hier der log:
110-26 14:47:15.269: E/AndroidRuntime(14503): FATAL EXCEPTION: main
210-26 14:47:15.269: E/AndroidRuntime(14503): java.lang.RuntimeException: Unable to start activity ComponentInfo{de.nimal.uu_matter/de.nimal.uu_matter.Recepies}: java.lang.ArrayIndexOutOfBoundsException: length=36; index=-1
310-26 14:47:15.269: E/AndroidRuntime(14503): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2247)
410-26 14:47:15.269: E/AndroidRuntime(14503): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2297)
510-26 14:47:15.269: E/AndroidRuntime(14503): at android.app.ActivityThread.access$700(ActivityThread.java:152)
610-26 14:47:15.269: E/AndroidRuntime(14503): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1282)
710-26 14:47:15.269: E/AndroidRuntime(14503): at android.os.Handler.dispatchMessage(Handler.java:99)
810-26 14:47:15.269: E/AndroidRuntime(14503): at android.os.Looper.loop(Looper.java:137)
910-26 14:47:15.269: E/AndroidRuntime(14503): at android.app.ActivityThread.main(ActivityThread.java:5328)
1010-26 14:47:15.269: E/AndroidRuntime(14503): at java.lang.reflect.Method.invokeNative(Native Method)
1110-26 14:47:15.269: E/AndroidRuntime(14503): at java.lang.reflect.Method.invoke(Method.java:511)
1210-26 14:47:15.269: E/AndroidRuntime(14503): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
1310-26 14:47:15.269: E/AndroidRuntime(14503): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
1410-26 14:47:15.269: E/AndroidRuntime(14503): at dalvik.system.NativeStart.main(Native Method)
1510-26 14:47:15.269: E/AndroidRuntime(14503): Caused by: java.lang.ArrayIndexOutOfBoundsException: length=36; index=-1
1610-26 14:47:15.269: E/AndroidRuntime(14503): at de.nimal.uu_matter.Recepies.onCreate(Recepies.java:30)
1710-26 14:47:15.269: E/AndroidRuntime(14503): at android.app.Activity.performCreate(Activity.java:5250)
1810-26 14:47:15.269: E/AndroidRuntime(14503): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1097)
1910-26 14:47:15.269: E/AndroidRuntime(14503): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211)
2010-26 14:47:15.269: E/AndroidRuntime(14503): ... 11 more

Ein Fehler ist kein Fehler es ist ein Feature///https://play.google.com/store/apps/developer?id=Nimal+Development

  • Forum-Beiträge: 1.793

26.10.2013 16:16:16 via Website

Philipp H
Ich hatte das edit nicht gesehen :D
Hier der log:
110-26 14:47:15.269: E/AndroidRuntime(14503): FATAL EXCEPTION: main
210-26 14:47:15.269: E/AndroidRuntime(14503): java.lang.RuntimeException: Unable to start activity ComponentInfo{de.nimal.uu_matter/de.nimal.uu_matter.Recepies}: java.lang.ArrayIndexOutOfBoundsException: length=36; index=-1

Scheinbar greifst du auf index -1 zu, der natürlich nicht existiert. Die -1 kommt von deiner
1position = getIntent().getIntExtra("position", -1);
Also gibt es den Eintrag "position" nicht. Du machst also irgendetwas beim Aufruf der zweiten Activity falsch.

LG

Liebe Grüße impjor.

Für ein gutes Miteinander: Unsere Regeln
Apps für jeden Einsatzzweck
Stellt eure App vor!

  • Forum-Beiträge: 184

26.10.2013 17:05:33 via Website

Das problem ist wenn ich da 0,1,2,3... eingebe kommt nur das Bild was auf position der Position dieser angegeben Zahl ist das heißt, wenn ich jetzt beispielsweise:
1position = getIntent().getIntExtra("position ", 0);
habe seigt er das bild an was auf der position null ist wenn diese 0 eine 1 ist dann wird das Bild von Position 1 angezeigt wie bekomme ich das weg ?

Ein Fehler ist kein Fehler es ist ein Feature///https://play.google.com/store/apps/developer?id=Nimal+Development

  • Forum-Beiträge: 184

26.10.2013 19:43:12 via Website

Hier das ist der erste List view Screen onItemClick ding:
1@Override
2 public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
3
4
5
6
7
8
9 Intent intent = new Intent(getApplicationContext(), Recepies.class);
10 intent.putExtra("position", position);
11
12
13 startActivity(intent);


und hier die 2 Activity:
1package de.nimal.uu_matter;
2
3import android.app.Activity;
4import android.os.Bundle;
5import android.widget.ImageView;
6
7public class Recepies extends Activity {
8
9 private int position;
10
11 public static final Integer[] recepies = {
12 R.drawable.abone, R.drawable.acactus, R.drawable.achisseledstone, R.drawable.aclay,
13 R.drawable.acoal, R.drawable.acocoabeans, R.drawable.acopperore, R.drawable.adiamond, R.drawable.afeather, R.drawable.aflint,R.drawable.aglass ,
14 R.drawable.aglowstone ,R.drawable.agoldore, R.drawable.agrassblock, R.drawable.agunpowder, R.drawable.ainksack, R.drawable.airidiumore,
15 R.drawable.aironore, R.drawable.alapislazuli, R.drawable.alava, R.drawable.amossstone, R.drawable.amycelium, R.drawable.anetherrack,
16 R.drawable.aobsidian, R.drawable.aredstone, R.drawable.asandstone, R.drawable.asnowball, R.drawable.asnowblock,
17 R.drawable.astickyresin, R.drawable.astone, R.drawable.asugarcane, R.drawable.atinore, R.drawable.avines, R.drawable.awater,
18 R.drawable.awood, R.drawable.awool};
19
20
21 @Override
22 protected void onCreate(Bundle savedInstanceState) {
23 super.onCreate(savedInstanceState);
24 setContentView(R.layout.activity_recepies);
25
26 ImageView iView = (ImageView)findViewById(R.id.imageView1);
27
28
29 position = getIntent().getIntExtra("position ", position);
30
31 iView.setImageResource(recepies[position]);
32
33
34 }
35}

ich finde den fehler einfach nicht :(

Ein Fehler ist kein Fehler es ist ein Feature///https://play.google.com/store/apps/developer?id=Nimal+Development