Add refresh functionality to connected devices

Useful for ip addr.
This commit is contained in:
Mygod
2018-01-04 15:03:32 +08:00
parent faf5466ced
commit 8872485ae9
2 changed files with 18 additions and 10 deletions

View File

@@ -76,6 +76,7 @@ class MainActivity : AppCompatActivity(), ServiceConnection, Toolbar.OnMenuItemC
arpCache = NetUtils.arp(binder.service.downstream)
} else owner = null
notifyDataSetChanged() // recreate everything
binding.swipeRefresher.isRefreshing = false
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) =
@@ -113,6 +114,7 @@ class MainActivity : AppCompatActivity(), ServiceConnection, Toolbar.OnMenuItemC
binding.clients.adapter = adapter
binding.toolbar.inflateMenu(R.menu.main)
binding.toolbar.setOnMenuItemClickListener(this)
binding.swipeRefresher.setOnRefreshListener { adapter.fetchClients() }
}
override fun onMenuItemClick(item: MenuItem): Boolean = when (item.itemId) {

View File

@@ -93,16 +93,22 @@
android:background="#000"
android:backgroundTint="?android:attr/textColorSecondary"/>
<android.support.v7.widget.RecyclerView
android:id="@+id/clients"
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipeRefresher"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="8dp"
android:paddingEnd="16dp"
android:paddingStart="16dp"
android:paddingTop="8dp"
android:clipToPadding="false"
android:scrollbars="vertical"
tools:listitem="@layout/listitem_client"/>
android:layout_height="match_parent">
<android.support.v7.widget.RecyclerView
android:id="@+id/clients"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="8dp"
android:paddingEnd="16dp"
android:paddingStart="16dp"
android:paddingTop="8dp"
android:clipToPadding="false"
android:scrollbars="vertical"
tools:listitem="@layout/listitem_client"/>
</android.support.v4.widget.SwipeRefreshLayout>
</LinearLayout>
</layout>