2013-01-14 182 views
0

我有一個ListView。當我點擊一個項目時,會顯示另一個項目ListView。 現在我想第二個Listview例如排序RPname。我怎樣才能做到這一點?有什麼辦法可以對我的listview進行排序嗎?

這是我的活動

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

你可以在你的適配器進行排序查詢initialization.sort你的數據庫查詢與:

Cursor c = db.query(DATABASE_TABLE, cols,null, null, null, null,RPName); 
0

我認爲一般的方法是在你的適配器中創建一個排序方法來對包含的數據進行排序。在Android上,ArrayAdapter確實有一個本地Sort方法,它將比較器作爲參數傳遞給。

所以我個人會創建一個類似的排序方法,這需要ComparisonDelegateListAdapter排序。

如果您要從數據庫中提取數據,請使用數據庫中內置的排序方法。

相關問題