我是C#和Xamarin的初學者。我有這個代碼,但我不知道它有什麼問題,它不會在gridview中顯示數據。GridView不顯示數據
這是我的活動代碼:
public class MenuFoodActivity : Activity
{
string dpPath = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.Personal), "HotelDb.db3");
GridView gv;
ArrayAdapter adapter;
JavaList<String> tvShows = new JavaList<string>();
protected override void OnCreate(Bundle savedInstanceState)
{
base.OnCreate(savedInstanceState);
SetContentView(Resource.Layout.MenuFood);
gv = FindViewById<GridView>(Resource.Id.gridViewMenu);
adapter = new ArrayAdapter(this, Android.Resource.Layout.SimpleListItem1, tvShows);
Retrieve();
}
private void Retrieve()
{
var db = new SQLiteConnection(dpPath);
var data = db.Table<FoodTable>();
var data1 = (from values in data
select new FoodTable
{
Shenase = values.Shenase,
Types = values.Types,
Names = values.Names,
Costs = values.Costs
}).ToList<FoodTable>();
tvShows.Add(data1);
if (tvShows.Size() > 0)
{
gv.Adapter = adapter;
}
else
{
Toast.MakeText(this, "not found.", ToastLength.Short).Show();
}
}
}
而這一次是axml文件:
<GridView
android:minWidth="25px"
android:minHeight="25px"
android:layout_width="wrap_content"
android:layout_height="200dip"
android:id="@+id/gridViewMenu"
android:background="#aaa"
android:layout_marginTop="10dip" />
一切事情都似乎不錯,我可以進入該if
statment但沒有什麼在我的gridview。任何人都知道這個代碼有什麼問題? 預先感謝。
我試着使用
List<FoodTable> tvShows = new List<FoodTable>();
JavaList<FoodTable> tvShows = new JavaList<FoodTable>();
JavaList<String> tvShows = new JavaList<String>();
,但他們並沒有爲我工作。
這會導致錯誤**不能隱式地將類型'System.Collections.Generic.List'轉換爲'Android.Widget.IListAdapter'** @ AT-2017 –
請嘗試一件事。把這個清單傳給這個 - ** JavaList tvShows = new JavaList (); **。 –
你的代碼看起來幾乎沒問題。請訪問此鏈接,看看是否提供任何幫助 - http://www.codeproject.com/Articles/800908/Displaying-Data-with-an-Adapter-in-Xamarin-Android –