2016-12-28 6 views
1

私はウィッヒニュースのリスト読み込み、コードを持っている:リフレッシュ後にリストビューの線が白くなるのはなぜですか?

public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 
    View view=inflater.inflate(R.layout.fragment_main, container, false); 
    final RssLoader loader=new RssLoader(getContext(),getActivity()); 
    loader.loadFeeds(); 
    ListView listView= (ListView) view.findViewById(R.id.listViewNews); 
    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
     @Override 
     public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) 
      { 
      RssItem item=loader.getRssItems().get(i); 
      if(item==null) 
       return; 
      startActivity(launchBrowser); 
     } 
    }); 

Here the list view after first download コード、私はロードニュース:

public void loadFeeds() { 
    String[] urlArr = {"http://www.news.ru/export/news.xml"}; 
new RssReader(_context) 
      .showDialog(false) 
      .urls(urlArr) 
      .parse(new OnRssLoadListener() { 
       @Override 
       public void onSuccess(List<RssItem> rssItems) { 

        ArrayList<String> titles=new ArrayList<>(); 
        if(rssItems.size()!=0) 
        { 
         titles.clear(); 
        } 

        Toast.makeText(_context, rssItems.get(0).getTitle(), 
        for (RssItem item:rssItems 
          ) { 
         RssItems.add(item); 
         titles.add(item.getTitle()+"\n"+item.getPubDate()); 
        } 

        ArrayAdapter<String> adapter=new ArrayAdapter<String>(_context,R.layout.rsse_lement,titles); 
        //ArrayAdapter<String> adapter=new ArrayAdapter<String>(_context,R.layout.support_simple_spinner_dropdown_item,titles); 
        ListView listNewNews= (ListView) _activity.findViewById(R.id.listViewNews); 

        SharedData.adapter=adapter;//here i try to fiz bug.. 
        listNewNews.setAdapter(SharedData.adapter); 
        } 
       } 

       @Override 
       public void onFailure(String message) { 
       } 
      }); 
} 

White rows after update

ここで私が選択したコード、 " 「更新行」:

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 
    int id = item.getItemId();  
    if (id == R.id.action_settings) { 
     if(SharedData.adapter!=null) 
     { 
      SharedData.adapter.clear(); 
     } 
     final RssLoader loader=new RssLoader(getApplicationContext(),this); 
     loader.loadFeeds(); 
     ListView listView= (ListView) findViewById(R.id.listViewNews); 
     listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) { 
       if(loader.getRssItems().isEmpty()) 
       { 
        return; 
       } 

       RssItem item=loader.getRssItems().get(i); 
       if(item==null) 
        return; 
       //start new activity with text of news 
       Intent launchBrowser = new Intent(getApplicationContext(), PageActivity.class);    
       startActivity(launchBrowser); 
      } 
     });   
     return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 

この白い行を修正するには?

私はAndroidでいくつかのコードを削除しましたが、フルコードはgithubにあります。 これは私の最初のプロジェクトで、最適ではないと書いています。 このコードをもっと賢く書く方法が分かっているなら教えてください。

EDIT:レイアウトrss_element:あなたは黒にあなたの行のテキストビューのテキストの色を設定すると、この問題が解決され、コードの下に持って

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:id="@+id/tvRssElement" 
android:paddingTop="2dip" 
android:paddingBottom="3dip" 
android:maxLines="5" 
android:maxLength="120" 
android:ellipsize="end" 
/> 
+1

'rsse_lement'のレイアウトを投稿します。 –

答えて

1

がお手伝いします:

android:textColor="@color/black" 
1

ますあなたのリストビューの各セルのために、この

subscribebtn.setBackgroundResource(Color.WHITE); 
subscribebtn.setTextColor(Color.BLACK); 

を試すことができます

関連する問題