2015-12-31 1 views
-1

Я не могу обновить свой список (сетевой поток, так что нет потока пользовательского интерфейса) в моем потоке пользовательского интерфейса через onRefresh Handler, это код, который я пробовал:Не удается обновить Список с перетаскиванием Обновить (mSwipeRefreshLayout)

@Override 
public void onRefresh() { 
     new Handler().postDelayed(new Runnable() { 
      @Override 
      public void run() { 
       try { 
        final SharedPreferences sharedPrefs = AktuellesActivity.this.getSharedPreferences("gemeindeMuckendorf", Context.MODE_PRIVATE); 
        List<News> newsList = Utils.getNewsFromHTML(Utils.getHTML("www.muckendorf-wipfing.at/22-0-Aktuelle+Meldungen.html")); 
        SharedPreferences.Editor edit = sharedPrefs.edit(); 
        edit.putString("aktuellesList", new ObjectSaver().saveString(newsList)); 
        edit.commit(); 
        final List<String> headers = new ArrayList<String>(); 
        for(News news : newsList) 
         headers.add(news.getHeader()); 
        headers.add("Test"); 
        AktuellesActivity.this.runOnUiThread(new Runnable() { 
         @Override 
         public void run(){ 
          lv.setAdapter(new ArrayAdapter(AktuellesActivity.this, android.R.layout.simple_list_item_1, headers)); 
          lv.invalidate(); 
         } 
        }); 
       } catch (Exception e) { 
        e.printStackTrace(); 
       } 
       mSwipeRefreshLayout.setRefreshing(false); 
      } 
     }, 2000); 
} 

Мои у меня есть список, который получает строку, помещает его в список, а затем я хочу, чтобы это получить список, чтобы заменить старый список, но, видимо, это не будет работать .. ничего не делать. Я не могу проверить это точно, но я уверен, что это не сработает. Может ли кто-нибудь помочь мне здесь? Спасибо!

+0

HTML = Utils.getHTML ("http://www.muckendorf-wipfing.at/22-0-Aktuelle+Meldungen.html"); Удалите это из uiThread. –

+0

@tinysunlight Это сейчас, все еще не работает. – atjahfjvda

ответ

0

Попробуйте

refreshLayout = (PullRefreshLayout) getView().findViewById(R.id.swipeRefreshLayout); 
refreshLayout.setOnRefreshListener(new PullRefreshLayout.OnRefreshListener() { 
       @Override 
       public void onRefresh() { 
        refreshLayout.setRefreshing(true); 
        new Handler().postDelayed(new Runnable() { 

         @Override 
         public void run() { 

         String html = ""; 
            try { 
             html = Utils.getHTML("http://www.muckendorf-wipfing.at/22-0-Aktuelle+Meldungen.html"); 
             List<News> news = Utils.getNewsFromHTML(html); 
             List<String> headers = new ArrayList(); 
             for (int i = 0; i < news.size(); i++) 
              headers.add(news.get(i).getHeader()); 
             lv.setAdapter(new ArrayAdapter(AktuellesActivity.this, android.R.layout.simple_list_item_1, headers)); 
             lv.invalidate(); 
            } catch (Exception e) { 
             e.printStackTrace(); 
            } 
             refreshLayout.setRefreshing(false); 
         } 
        }, 2000); 
       } 
      }); 
+0

Это еще один способ написания, не так ли? Круг крутится для меня, он просто не обновляет список ... – atjahfjvda

+0

Вы проверили данные, исходящие из этого URL? –

+0

Что это значит? – atjahfjvda