

[Twitter4Jを使用したUserStreamの実装について](https://ja.stackoverflow.com/questions/31337/twitter4j%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9Fuserstream%E3%81%AE%E5%AE%9F%E8%A3%85%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6)

こちらの質問で教えていただいたものを使いUserStreamで取得したツイートをLogに表示することはできたのですがツイートをListに追加する方法が分かりません。  
今までは以前の質問と同じく[Twitterクライアントを作ってみよう](http://qiita.com/gabu/items/53857fcfa871b921af45)  
の方法でやっていたのですがこれだとUserStreamで取得しているのにもかかわらずAPIが切れてしまい困っています。どのようにすればツイートを取得しそれをリアルタイムでListActivityのListに追加することができるのでしょうか。


CC BY-SA 3.0
2016-12-26T03:50:36.290
31399
2017-03-26T17:32:00.003
2017-04-13T12:52:39.113
-1
19447
question
android twitter twitter4j
Twitter4Jを使用したListActivityへのツイートの追加について


UserStream で得られたツイートを ListView に表示するサンプルを作ってみました。

ストリームを表示する Activity のレイアウトに ListView を追加します。

[code]

    <?xml version="1.0" encoding="utf-8"?>
    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
      xmlns:tools="http://schemas.android.com/tools"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      android:fitsSystemWindows="true"
      tools:context="com.xsota.twitter4juserstreamtest.MainActivity">
    <ListView
        android:id="@+id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
    </RelativeLayout>
    
[/code]

そして StatusListener の中で Handler を利用して ListView に更新を反映させます。

[code]

      listView = (ListView) findViewById(R.id.list);
      adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1);
      listView.setAdapter(adapter);
    
    StatusListener listener = new StatusListener(){
          @Override
          public void onStatus(final Status status) {
            new Handler(Looper.getMainLooper()).post(new Runnable() {
              @Override
              public void run() {
                adapter.add("UserName: "+status.getUser().getName() + " Tweet: "+status.getText());
              }
            });
          }
    
[/code]

サンプルのソースコードをを公開しましたので参考にしてください。

<https://github.com/numa08/Twitter4jUserStreamTest>


CC BY-SA 3.0
2017-01-09T01:42:10.500
31718
2017-01-09T07:11:38.073
2017-01-09T07:11:38.073
2376
7949
31399
answer