Intent Activity

  • Antworten:21
  • Bentwortet
Isabel
  • Forum-Beiträge: 17

22.08.2018, 21:10:12 via Website

Hallo, versuche ein RecyclerView zu bauen, wenn ich auf eine Stadt anklicke, soll dann zugehörige Links öffnen. Momentan öffnet nur eine leere Activity. Bswl. wenn ich auf eine Stadt klicke, soll erstmal eine neue Activity Fenster öffnet (nochmal wie bei erstenActivity) imageimageimageimageimageimageAuflistung von recyclerViews.
Kann mir jemand helfen.
Vielen Dank

Kommentieren
Beste Antwort
Jokel
  • Forum-Beiträge: 1.530

23.08.2018, 09:23:13 via Website

In der zweiten Activity musst du dein RecRecyclerView auch initialisieren, so kann das nicht gehen.

Danke @saw00
Damit meinte ich natürlich das sie ein neues RecRecyclerView erstellen muss . so wie sie es mit der Aktivity NewYork vor hatt. Klar dasd eine möglichkeit mit dem Interface nicht geht.

Nur lädt sie dort auch wieder die gleichen Daten in das RV wie in der Ersten Activity. Macht auch keinnen sinn. Führt bei Klick den gleichen Intent aus ,und wertet ihn auch wieder nicht aus.

Wie gesagt wird die Activity (NewYork) gar nicht ausgefürt wenn sie den Intent der esten Activity auf NewYork setzt, wüde genau das was ich eben gesagt habe passieren.

Was auch nicht geht ist das du in dem Layout NewYork die gleiche ID für das RV benutzt wie in der ersten Activity.

— geändert am 23.08.2018, 09:48:44

Hilfreich?
Kommentieren
swa00
  • Forum-Beiträge: 3.704

22.08.2018, 21:24:05 via Website

Hallo Isabel,

Für den "eindimensionalen" weg ist obige richtig.

Allerdings müsstet einen Custom/Base Adapter für deinen ReycleView verwenden und darin dann eine
HolderKlasse deiner Daten verwalten.

TUTORIAL für dich :
https://www.survivingwithandroid.com/2016/09/android-recyclerview-tutorial.html

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.530

22.08.2018, 21:46:50 via Website

Hallo Isabell.
Frage wie geht den die citytetailactivity weiter?
Da machst du ja auch gar nicht zeigst nur das layout an . Mehr ist nicht zu erkennen.

Verstehe auch nicht so ganz wo dein Problem ist.

Hilfreich?
Kommentieren
Isabel
  • Forum-Beiträge: 17

22.08.2018, 22:05:27 via Website

Hi, in der CityActivity wwerden die einzelne Deteils mit Bilder angezeigt. Ich wollte nur vorher vor den Deitels erstmal Fenster öffnen bswl wenn ich auf New York klicke, öffnet Fenster mit den paar Recycler

public class CityActivity extends Activity implements ItemClickListener {

private RecyclerView mRecyclerView;
private CityAdapter mAdapter;
private List<City> cities;

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_city);
    cities = CityManager.getInstance(this.getApplicationContext()).getCites();
    mRecyclerView = (RecyclerView)findViewById(R.id.list);
    mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
    mRecyclerView.setItemAnimator(new DefaultItemAnimator());

    mAdapter = new CityAdapter(cities, R.layout.row_city, this);
    mRecyclerView.setAdapter(mAdapter);
    mAdapter.setClickListener(this);
}

@Override
public void onClick(View view, int position) {
    final City city = cities.get(position);
    Intent i = new Intent(this, CityDetailActivity.class);
    i.putExtra("city", city.name);
    i.putExtra("desc", city.description);
    i.putExtra("image", city.imageName);
    Log.i("hello", city.name);
    startActivity(i);
}

}

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.530

23.08.2018, 07:51:37 via Website

Hi in deiner CityActivity setzt du einen Klicklistner auf dein RecRecyclerView, mit Hilfe des Interface ItemClickListener.
Was passiert nun: wenn du auf Item der liste klickst wird die Methode onClick(View view, int position) aufgerufen.
Was machst du da : du erstellst einen Intent übergibst ihm die Parameter mit putextra und startest den Intent soweit richtig.
Nun wird die Activity „CityDetailActivity“ gestartet und das ist für mich eine lehre Activity den in der onCreate wird nur das Layout geladen mehr nicht. Ob du noch irgendwo anders etwas machst( onResume) kann ich nicht sehen den das hast du nicht veröffentlicht.

Deshalb meine frage nach dem Code und du hast den falschen Code geschickt der schon in deiner Frage enthalten war.

In der zweiten Activity musst du dein RecRecyclerView auch initialisieren, so kann das nicht gehen.
Auch denn Intent mit seinen Extras wertest du nicht aus, so macht das keinen sinn.

Deine Activity NewYork wird so nie aufgerufen.

— geändert am 23.08.2018, 07:55:13

Hilfreich?
Kommentieren
swa00
  • Forum-Beiträge: 3.704

23.08.2018, 09:08:28 via Website

In der zweiten Activity musst du dein RecRecyclerView auch initialisieren, so kann das nicht gehen.

— geändert am 23.08.2018, 09:32:35

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Kommentieren
Beste Antwort
Jokel
  • Forum-Beiträge: 1.530

23.08.2018, 09:23:13 via Website

In der zweiten Activity musst du dein RecRecyclerView auch initialisieren, so kann das nicht gehen.

Danke @saw00
Damit meinte ich natürlich das sie ein neues RecRecyclerView erstellen muss . so wie sie es mit der Aktivity NewYork vor hatt. Klar dasd eine möglichkeit mit dem Interface nicht geht.

Nur lädt sie dort auch wieder die gleichen Daten in das RV wie in der Ersten Activity. Macht auch keinnen sinn. Führt bei Klick den gleichen Intent aus ,und wertet ihn auch wieder nicht aus.

Wie gesagt wird die Activity (NewYork) gar nicht ausgefürt wenn sie den Intent der esten Activity auf NewYork setzt, wüde genau das was ich eben gesagt habe passieren.

Was auch nicht geht ist das du in dem Layout NewYork die gleiche ID für das RV benutzt wie in der ersten Activity.

— geändert am 23.08.2018, 09:48:44

Hilfreich?
Kommentieren
Isabel
  • Forum-Beiträge: 17

23.08.2018, 19:40:08 via Website

CityDeitelActivity.java

private TextView tvCityName;
private TextView tvCityDesc;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_city_view);

    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
    toolbar.setBackground(getResources().getDrawable(getResources().getIdentifier(getIntent().getStringExtra("image"), "drawable", getPackageName())));

    tvCityName = (TextView) findViewById(R.id.tv_city_name);
    tvCityName.setText(getIntent().getStringExtra("city"));
    tvCityDesc = (TextView) findViewById(R.id.tv_city_desc);
    tvCityDesc.setText(getIntent().getStringExtra("desc"));
Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.530

23.08.2018, 19:51:21 via Website

Ja ok Danke . Leider ist da nichts von einem RecRecyclerView und den Intent wertest du auch nicht aus mit dem du die Activity startest.

— geändert am 23.08.2018, 19:51:41

Hilfreich?
Isabel
Kommentieren
Isabel
  • Forum-Beiträge: 17

23.08.2018, 20:14:27 via Website

Jokel

In der zweiten Activity musst du dein RecRecyclerView auch initialisieren, so kann das nicht gehen.

Danke @saw00
Damit meinte ich natürlich das sie ein neues RecRecyclerView erstellen muss . so wie sie es mit der Aktivity NewYork vor hatt. Klar dasd eine möglichkeit mit dem Interface nicht geht.

Nur lädt sie dort auch wieder die gleichen Daten in das RV wie in der Ersten Activity. Macht auch keinnen sinn. Führt bei Klick den gleichen Intent aus ,und wertet ihn auch wieder nicht aus.

Wie gesagt wird die Activity (NewYork) gar nicht ausgefürt wenn sie den Intent der esten Activity auf NewYork setzt, wüde genau das was ich eben gesagt habe passieren.

Was auch nicht geht ist das du in dem Layout NewYork die gleiche ID für das RV benutzt wie in der ersten Activity.

habe den Fehler gefunden, es hat geklappt. Danke :-)

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.530

23.08.2018, 20:19:58 via Website

Diese Zeile ist auch Nonsens.

toolbar.setBackground(getResources().getDrawable(getResources().getIdentifier(getIntent().getStringExtra("image"), "drawable", getPackageName())));

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.530

23.08.2018, 20:38:29 via Website

Isabell mal zur Info wie das mit den besten Antworten Hier im Forum geht.
Es sollte die Antwort sein die dir wirklich den Durchbruch gebracht hat.
Wenn dir andere auch gefallen dann kicke auf Hilfreich, und ändere nicht immer die beste Antwort das ist dann später für andere nicht mehr nachvollziehbar.

Danke

Hilfreich?
swa00Isabel
Kommentieren
swa00
  • Forum-Beiträge: 3.704

23.08.2018, 20:45:14 via Website

Ich war auch etwas verwirt und habe es aufgegeben :-)
Dachte schon es liegt am Alter .........

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Kommentieren
Isabel
  • Forum-Beiträge: 17

23.08.2018, 20:46:59 via Website

Vielen Dank für eure Hilfe :-)

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.530

23.08.2018, 20:49:58 via Website

@saw00 am Alter ich bin auch nicht mehr der jüngste.
Mach dir keinen Kopf alles gut.

Hilfreich?
swa00
Kommentieren
Isabel
  • Forum-Beiträge: 17

23.08.2018, 20:52:57 via Website

ich bin neue beim Android Programmierung, mache Ausbildung

Hilfreich?
Kommentieren
swa00
  • Forum-Beiträge: 3.704

23.08.2018, 20:54:29 via Website

Du bist herzlichst willkommen , auch uns weiterhin liebevoll zu nerven ....... :-)

— geändert am 23.08.2018, 20:54:40

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Kommentieren
Isabel
  • Forum-Beiträge: 17

23.08.2018, 20:55:13 via Website

swa00

Du bist herzlichst willkommen , auch uns weiterhin liebevoll zu nerven ....... :-)

wirklich???? Gerne wieder :)

Hilfreich?
Kommentieren
Jokel
  • Forum-Beiträge: 1.530

23.08.2018, 20:55:42 via Website

Schön freut mich für dich. Darf ich fragen welche Ausbildung du machst.

Hilfreich?
Kommentieren
Isabel
  • Forum-Beiträge: 17

23.08.2018, 20:56:43 via Website

Jokel

Schön freut mich für dich. Darf ich fragen welche Ausbildung du machst.

Software Entwicklung

Hilfreich?
Kommentieren
swa00
  • Forum-Beiträge: 3.704

23.08.2018, 21:04:07 via Website

Lass Dir nicht alles aus der Nase ziehen :-)

Wie nennt sich die Ausbildung genau und arbeitest du in einer SoftwareBude ?
So richtig mit Lehrlingsgehalt ?

Liebe Grüße - Stefan
[ App - Entwicklung ]

Hilfreich?
Kommentieren