Фон
Google недавно опубликовал обновление для своей библиотеки поддержки, которая теперь имеет новый видSwipeRefreshLayout.
Представление позволяет обернуть другое представление, в то же время поддерживая смахивание вниз для выполнения операции обновления.
Скриншот:
Проблема
Google не предоставил образец (по крайней мере, пока тот, который я не могу найти), поэтому я попробовал использовать его сам.
Сначала у меня возникал сбой (NPE) всякий раз, когда я проводил, но потом я узнал об этом, потому что я не предоставил ему "OnRefreshListener".
Но я до сих пор не понимаю, как его использовать, не говоря уже о том, чтобы настроить его
Вот XML файла макета:
<android.support.v4.widget.SwipeRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/container"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.swiperefreshlayouttest.MainActivity"
tools:ignore="MergeRootFrame" >
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TTT"
android:textSize="40sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TTT"
android:textSize="40sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TTT"
android:textSize="40sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TTT"
android:textSize="40sp" />
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="TTT"
android:textSize="40sp" />
</LinearLayout>
</ScrollView>
</android.support.v4.widget.SwipeRefreshLayout>
Код, хотя он ничего особенного не делает:
public class MainActivity extends ActionBarActivity
{
@Override
protected void onCreate(final Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final SwipeRefreshLayout swipeRefreshLayout=(SwipeRefreshLayout)findViewById(R.id.container);
swipeRefreshLayout.setOnRefreshListener(new OnRefreshListener()
{
@Override
public void onRefresh()
{
// do nothing
}
});
}
}
Вопрос
Как правильно использовать это представление?
Как мне это настроить? На данный момент это просто черная линия...