2016-07-28 4 views
0

私は見出しを示すマジックミラーアプリケーションを作成しようとしています。私はRSSでヘッドラインを成功裏につかんで、トップのヘッドラインの3つを文字列にマッシュアップしました。マーキーにテキストを追加すると、最後の見出しのみが表示されます。Android TextView Marqee

見出し文字列のサンプル:レイアウトの

US election: Trump 'encourages Russia to hack Clinton emails' | France church attack: Killers 'pledged allegiance to IS' in video | UN condemns 'barbaric' Boko Haram violence in Nigeria 

パート EDITは

private NewsModule.NewsListener mNewsListener = new NewsModule.NewsListener() { 
     @Override 
     public void onNewNews(String headline) { 
      if (TextUtils.isEmpty(headline)) { 
       mNewsHeadline.setVisibility(View.INVISIBLE); 
      } else { 
       mNewsHeadline.setVisibility(View.VISIBLE); 
       Log.d("NEWSMODULE", headline); 
       mNewsHeadline.setText(headline); 
       mNewsHeadline.setSelected(true); 
      } 
     } 
    }; 

はEDIT全体の機能追加のTextView設定

 <TextView 
    android:id="@+id/news_headline" 
    style="@style/MirrorListText" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:ellipsize="marquee" 
    android:marqueeRepeatLimit="marquee_forever" 
    android:singleLine="true" 
    android:visibility="gone" 
    android:textSize="@dimen/mirror_cur_event_text_size" 
    tools:text="" 
     tools:visiblity="visible" /> 

機能:追加されたクラス引っ張りますRSS

public class NewsModule { 
    public interface NewsListener { 
     void onNewNews(String headline); 
    } 

    public static void getNewsHeadline(final NewsListener newsListener) { 
     new AsyncTask<Void, Void, String>() { 
      @Override 
      protected void onPostExecute(String s) { 
       super.onPostExecute(s); 
       newsListener.onNewNews(s); 
      } 

      @Override 
      protected String doInBackground(Void... params) { 
       RSSReader rssReader = new RSSReader(); 
       String url = "http://feeds.bbci.co.uk/news/world/rss.xml?edition=us"; 
       try { 
        RSSFeed feed = rssReader.load(url); 
        Log.d("NEWSMODULE", "successful load"); 

        String headlines = feed.getItems().get(0).getTitle();// + feed.getItems().get(1).getTitle() + feed.getItems().get(2).getTitle(); 
        Log.d("NEWSMODULE",headlines); 
        return headlines; 
       } catch (RSSReaderException e) { 
        Log.d("NEWSMODULE", "Error parsing RSS"); 
        return null; 
       } catch (Exception e) { 
        // not great to catch general exceptions, but this lib is being sketchy 
        Log.d("NEWSMODULE", "Error parsing RSS"); 
        return null; 
       } 
      } 
     }.execute(); 
    } 
} 

私は私が正常に機能への完全な文字列を渡しています知っているが、唯一の見出しが表示され、TextViewのための重力が正しくありませんでした

"UN condemns 'barbaric' Boko Haram violence in Nigeria" 
+0

textviewはテキストの先頭と最後に二重引用符を表示しますか? –

+0

'Log.d(" NEWSMODULE "、見出し);'正しい結果を出力しますか? – shhp

+0

最後に引用符が付きません。また、Log.d( "NEWSMODULE"、見出し)は、いくつかの調査を行った後に正しく –

答えて

0

で動き回ります。属性の1つとしてandroid:gravity="left" を入れた後、マーキーは魅力的に機能しました。