Intent Activity

  • Antworten:21
  • OffenNicht stickyBentwortet
  • 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

Diskutiere mit!
Beste Antwort
  • Forum-Beiträge: 483

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?
Diskutiere mit!
  • Forum-Beiträge: 2.902

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?
Diskutiere mit!
  • Forum-Beiträge: 483

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?
Diskutiere mit!
  • 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?
Diskutiere mit!
  • Forum-Beiträge: 483

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?
Diskutiere mit!
  • Forum-Beiträge: 2.902

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?
Diskutiere mit!
Beste Antwort
  • Forum-Beiträge: 483

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?
Diskutiere mit!
  • 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?
Diskutiere mit!
  • Forum-Beiträge: 483

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?
Diskutiere mit!
  • 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?
Diskutiere mit!
  • Forum-Beiträge: 483

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?
Diskutiere mit!
  • Forum-Beiträge: 483

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?
Diskutiere mit!
  • Forum-Beiträge: 2.902

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?
Diskutiere mit!
  • Forum-Beiträge: 483

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?
Diskutiere mit!
  • Forum-Beiträge: 17

23.08.2018, 20:52:57 via Website

ich bin neue beim Android Programmierung, mache Ausbildung

Hilfreich?
Diskutiere mit!
  • Forum-Beiträge: 2.902

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?
Diskutiere mit!
  • 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?
Diskutiere mit!
  • Forum-Beiträge: 483

23.08.2018, 20:55:42 via Website

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

Hilfreich?
Diskutiere mit!

Empfohlene Artikel