Java 使用非当前视图实现SwipeRefreshLayout
我正在尝试实现刷卡刷新。不过,刷新视图位于一个片段中,一旦加载rss提要,该片段就会膨胀。此代码不会使应用程序崩溃,但是刷新视图会无限期地保留,并且不会采用我赋予它的任何属性Java 使用非当前视图实现SwipeRefreshLayout,java,android,android-layout,listview,swiperefreshlayout,Java,Android,Android Layout,Listview,Swiperefreshlayout,我正在尝试实现刷卡刷新。不过,刷新视图位于一个片段中,一旦加载rss提要,该片段就会膨胀。此代码不会使应用程序崩溃,但是刷新视图会无限期地保留,并且不会采用我赋予它的任何属性 View v = getLayoutInflater().inflate(R.layout.fragment_rss, null); SwipeRefreshLayout refresh = (SwipeRefreshLayout) v.findViewById(R.id.swiperefresh); refresh.s
View v = getLayoutInflater().inflate(R.layout.fragment_rss, null);
SwipeRefreshLayout refresh = (SwipeRefreshLayout)
v.findViewById(R.id.swiperefresh);
refresh.setEnabled(true);
refresh.setColorSchemeColors(getResources().getColor(R.color.colorAccent),
getResources().getColor(R.color.colorPrimary),
getResources().getColor(R.color.white));
refresh.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener()
{
@Override
public void onRefresh() {
new refresh().execute("");
}
});
new refresh().execute(“”)代码>调用异步动画,动画完成后,该动画将调用刷新方法
private class refresh extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... params) {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
return "Interrupted";
}
return "Executed";
}
@Override
protected void onPostExecute(String result) {
refreshRssFragment();
}
}
您应该调用refresh.setRefreshing(false)停止刷新..private void refreshRssFragment(){FragmentManager=getSupportFragmentManager();FragmentTransaction=manager.beginTransaction();RssFragment=new RssFragment();transaction.replace(R.id.fragment_容器,fragment);transaction.commit();refresh.setRefreshing(false);}我已经有了:/你应该调用refresh.setRefreshing(false)来停止刷新..private void refreshRssFragment(){FragmentManager=getSupportFragmentManager();FragmentTransaction=manager.beginTransaction();RssFragment fragment=new RssFragment();transaction.replace(R.id.fragment_容器,fragment);transaction.commit();refresh.setRefreshing(false);}我已经有了:/
<android.support.v4.widget.SwipeRefreshLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/swiperefresh"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:visibility="gone"
android:id="@+id/newsList"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
</ListView>
</android.support.v4.widget.SwipeRefreshLayout>
private void refreshRssFragment(){
FragmentManager manager = getSupportFragmentManager();
FragmentTransaction transaction = manager.beginTransaction();
RssFragment fragment = new RssFragment();
transaction.replace(R.id.fragment_container, fragment);
transaction.commit();
refresh.setRefreshing(false);
}`