2017-11-04 2 views
1

Ich versuche, eine App in Android Studio zu bauen, die eine Liste von Tweets von einem Benutzer in einer Listenansicht anzeigt, und dann kann der Benutzer einen auswählen und der Tweet-Text wird auf eine andere Aktivität übertragen.Wie setze ich einen OnItemClickListener auf der TweetUI-Liste von Twitter Kit mit Android Studio?

Ich habe den folgenden Code zu setzen einen onitemclicklistener mit einem manuell eingegeben String-Array verwendet, und es funktionierte perfekt:

final Intent i = new Intent(this, ResultsActivity.class); 

myListView.setOnItemClickListener(
      new AdapterView.OnItemClickListener(){ 
       @Override 
       public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
        String tweet = String.valueOf(parent.getItemAtPosition(position)); 
        i.putExtra("tweetMessage", tweet); 
        startActivity(i); 
       } 
      } 

    ); 

Aber jetzt, wo ich TweetUI anzeigen Twitter Kit verwendet haben Zeitrahmen funktionieren Liste zeigen Tweets vom Benutzer, ich bin nicht mehr in der Lage, einen onclick Listener zu setzen. Wenn ich auf einen Tweet klicke, öffnet sich der Webbrowser und zeigt diesen Tweet auf der Twitter-Seite an.

Ich kann anscheinend nicht die Listenansicht wie zuvor mit "myListView.setOnItemClickListener", wie die Listenansicht android :: list genannt wird, die ein von TwitterUI erforderlicher Name scheint. Ich habe die Aktivität mit dem folgenden Code eingerichtet, die keinen Hinweis auf die Listenansicht Namen macht so nehme ich an diesem in TwitterUI gebaut:

final UserTimeline userTimeline = new UserTimeline.Builder() 
      .screenName("antijokes") 
      .build(); 
    final TweetTimelineListAdapter adapter = new TweetTimelineListAdapter.Builder(this) 
      .setTimeline(userTimeline) 
      .build(); 
    setListAdapter(adapter); 

Weiß jemand, ob es eine Möglichkeit ist, einen onitemclick Hörer einzurichten, die Listenansicht?

TIA

Antwort

0

Versuchen Aktion Rückruf auf Adapter Einstellung

setOnActionCallback (Rückruf actionCallback) Legt den Rückruf zu rufen, wenn ein Tweet Aktion auf einem Tweet Ansicht ausgeführt ist.

final UserTimeline userTimeline = new UserTimeline.Builder() 
             .screenName(userName) 
             .maxItemsPerRequest(5) 
             .build(); 
    Callback<Tweet> actionCallback = new Callback<Tweet>() { 
     @Override 
     public void success(Result<Tweet> result) {} 

     @Override 
     public void failure(TwitterException exception) {} 
    }; 
    final TweetTimelineRecyclerViewAdapter adapter = 
      new TweetTimelineRecyclerViewAdapter.Builder(getActivity()) 
        .setTimeline(userTimeline) 
        .setViewStyle(R.style.tw__TweetLightWithActionsStyle) 
        .setOnActionCallback(actionCallback) 
        .build(); 
Verwandte Themen