2016-05-11 11 views
1

私はRSSフィードを解析し、フラグメントにあるListview経由でユーザーに表示しようとしています。問題は何もリストに現れないと、私はいくつかのエラーを取得することです:Android - フラグメント内のリストビュー

V/Error Parsing Data: java.io.IOException: Couldn't open http://feeds.bbci.co.uk/news/england/rss.xml 
W/FragmentManager: moveToState: Fragment state for Thingy{3633e4e #1 id=0x7f0c0069} not updated inline; expected state 3 found 2 

私のかけらクラス:

public class Thingy extends Fragment { 
    ListView mList; 
    ArrayAdapter<String> adapter; 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 

     View v = inflater.inflate(R.layout.fragment_main, container, false); 
     adapter = new ArrayAdapter<>(getActivity(), R.layout.basic_list_item); 
     mList = ((ListView) v.findViewById(R.id.listView)); 
     new GetRssFeed().execute("http://feeds.bbci.co.uk/news/england/rss.xml"); 

     return v; 
    } 

    private class GetRssFeed extends AsyncTask<String, Void, Void> { 
     @Override 
     protected Void doInBackground(String... params) { 
      adapter.add("Pizza Steak"); 
      try { 
       RssReader rssReader = new RssReader(params[0]); 
       for (RssItem item : rssReader.getItems()) { 
        adapter.add(item.getTitle()); 
       } 
      } catch (Exception e) { 
       Log.v("Error Parsing Data", e + ""); 
      } 
      return null; 
     } 

     @Override 
     protected void onPostExecute(Void aVoid) { 
      super.onPostExecute(aVoid); 
      adapter.notifyDataSetChanged(); 
      mList.setAdapter(adapter); 
     } 
    } 
} 

答えて

1

マニフェスト

<manifest xlmns:android...> 
... 
<uses-permission android:name="android.permission.INTERNET" /> 
<application ... 
</manifest> 
0

上の権限を追加してください。 のURLには、有効なRSSフィードURLでない場所が使用されている可能性があります。

ですので、このURLでコードを実行しようとしてください:http://www.aljazeera.com/xml/rss/all.xml(テストのみ)。

関連する問題