我有ListView
。当我点击它的一个项目时,我会显示另一个ListView
。
现在我希望第二个Listview
按RPname
排序。我怎么能这样做?
这是我的活动
using Android.App;
using Android.Content;
using Android.OS;
using Android.Widget;
using Itsak.Classes;
using AndroidApplication17;
namespace Itsak
{
[Activity(Label = "Record Points", NoHistory = false)]
public class ActivityRecordPoints : Activity
{
private RecordPointListAdapter _listAdapter;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
// Create your application here
SetContentView(Resource.Layout.RecordPointListView);
//Create adapter
_listAdapter = new RecordPointListAdapter(this);
//Find the listview reference
var listView = FindViewById<ListView>(Resource.Id.lstViewRecordPoints);
//Hook up adapter to ListView
listView.Adapter = _listAdapter;
//Wire up the click event
listView.ItemClick += ListViewItemClick;
}
private void ListViewItemClick(object sender, AdapterView.ItemClickEventArgs e)
{
//Get item from the list adapter
var item = _listAdapter.GetItemAtPosition(e.Position);
//Make a toast with the item name just to show it was clicked
Toast.MakeText(this, item.StationName, ToastLength.Short).Show();
// Invoke ActivityComponents
var components = new Intent(this, typeof(ActivityComponents));
StartActivity(components);
}
}
}
这是我的Xml文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/RecordPointLinearLayout"
android:layout_width="fill_parent"
android:layout_height="80px">
<ImageView
android:id="@+id/imageItemRP"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical" />
<LinearLayout
android:id="@+id/linearTextRP"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:orientation="vertical"
android:layout_marginLeft="10px"
android:layout_marginTop="10px">
<TextView
android:id="@+id/textTopRPName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
<TextView
android:id="@+id/textBottomRPCode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="TextView" />
</LinearLayout>
答案 0 :(得分:0)
您可以在适配器中对查询进行排序。使用以下命令对数据库查询进行排序:
Cursor c = db.query(DATABASE_TABLE, cols,null, null, null, null,RPName);
答案 1 :(得分:0)
我认为通常的方法是在适配器中创建一个排序方法,对所包含的数据进行排序。在Android上,ArrayAdapter
确实有一个本地Sort
方法,您可以将比较器作为参数传递给。{/ p>
所以我个人会创建一个类似的排序方法,需要Comparison
Delegate
对List
中的Adapter
进行排序。
如果要从数据库中提取数据,请使用数据库中的内置排序方法。