2017-07-25 11 views
0

Meine Anwendung Verwendet AsyncTask, um Daten von einer WebAPI abzurufen, und zeigt sie in einer Recycler-Ansicht an.Link öffnen, wenn auf CardView geklickt wird

Ich beabsichtige, den entsprechenden Link zu öffnen, wenn Sie auf eine Kartenansicht in dem auf dem Telefon installierten Browser klicken.

Ich habe alle genannten Lösungen versucht, aber meine App scheint immer zu stürzen.

Wenn ich sendBroadcast stattdessen verwende, tut es nichts.

My-Code für den Recycler Ansicht Adapter:

@Override 
public void onBindViewHolder(ViewHolder holder, int position) { 
    final News news = listnews.get(position); 

    holder.tvTitle.setText(news.getTitle()); 
    holder.tvDesc.setText(news.getDescription()); 

    Picasso.with(getContext()).load(news.getUrlToImage()).into(holder.ivNews); 
    holder.newsLayout.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(news.getUrl())); 
      context.startActivity(intent); 
     } 
    }); 
} 

Die App funktioniert gut und lädt alle Nachrichten, aber wenn ich auf einer Nachricht klicken stürzt es mit der nicht mehr reagiert Nachricht.

+0

Post-Fehlerprotokoll und vollständige Code von RecyclerView Adapter –

Antwort

1

sollten Sie diese Zeile hinzufügen intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);

wie unten: -

@Override 
    public void onClick(View view) { 
     Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(news.getUrl())); 
     intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
     context.startActivity(intent); 
    } 
+0

wow, es hat funktioniert, danke. können Sie bitte erklären, was diese Codezeile bitte tut. –

+0

Es wird eine neue Aktivität mit passendem Intent-Filter gestartet, in einer neuen Aufgabe nur dann, wenn diese entsprechende Aufgabe nicht im Speicher ist. Für mehr Details klicken Sie [hier] (https://developer.android.com/reference/android/content/Intent.html#addFlags (int)) –

+0

Danke, es hat alles gelöst. –

Verwandte Themen