C# Android ListView存在toast消息问题
我有下一个问题,我有一个活动1:活动, 使用以下代码:C# Android ListView存在toast消息问题,c#,android,listview,C#,Android,Listview,我有下一个问题,我有一个活动1:活动, 使用以下代码: private string[] items; public ListView lv; protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.Layout.Main); ListView lv = FindViewById<L
private string[] items;
public ListView lv;
protected override void OnCreate(Bundle bundle)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
ListView lv = FindViewById<ListView>(Resource.Id.listView1);
items = new string[] { "Aaaa", "bbb", "cccc", "dddd", "eeee", "ffff", "gggg" };
var ListAdapter = new ArrayAdapter<String>(this, Android.Resource.Layout.SimpleListItem1, items);
lv.Adapter = ListAdapter;
}
protected void OnListClick(ListView listView, View view, int pos, long id)
{
var t = items[pos];
Android.Widget.Toast.MakeText(this, t, Android.Widget.ToastLength.Short).Show();
}
}
私有字符串[]项;
公共列表视图lv;
创建时受保护的覆盖无效(捆绑包)
{
base.OnCreate(bundle);
SetContentView(Resource.Layout.Main);
ListView lv=FindViewById(Resource.Id.listView1);
items=新字符串[]{“Aaaa”、“bbb”、“cccc”、“dddd”、“eeee”、“ffff”、“gggg”};
var ListAdapter=new ArrayAdapter(这个,Android.Resource.Layout.SimpleListItem1,items);
lv.Adapter=ListAdapter;
}
受保护的void OnListClick(ListView ListView、View View、int pos、long id)
{
var t=项目[pos];
Android.Widget.Toast.MakeText(this,t,Android.Widget.ToastLength.Short).Show();
}
}
问题如下,当我调试应用程序,并点击一行,没有土司消息出现,没有。。。。。。请给我一些帮助
xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:p1="http://schemas.android.com/apk/res/android"
p1:orientation="horizontal"
p1:minWidth="25px"
p1:minHeight="25px"
p1:layout_width="fill_parent"
p1:layout_height="fill_parent"
p1:id="@+id/linearLayout1">
<LinearLayout
p1:id="@+id/layoutCalendar"
p1:orientation="horizontal"
p1:layout_width="200.0dp"
p1:layout_height="fill_parent"
p1:layout_gravity="right"
p1:minWidth="25px"
p1:minHeight="25px">
<ListView
p1:minWidth="25px"
p1:minHeight="25px"
p1:layout_width="wrap_content"
p1:layout_height="fill_parent"
p1:id="@+id/listView1" />
</LinearLayout>
<calendarcontrol.CalendarMonthView
p1:id="@+id/calendarView2"
p1:clickable="true"
p1:layout_width="wrap_content"
p1:layout_height="wrap_content"
p1:layout_gravity="right" />
使用onItemSelectListener而不是onClick
public class AppActivity extends Activity {
public Activity activity;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
activity = this;
ListView lv = FindViewById<ListView>(Resource.Id.listView1);
items = new string[] { "Aaaa", "bbb", "cccc", "dddd", "eeee", "ffff", "gggg" };
var ListAdapter = new ArrayAdapter<String>(this, android.Resource.Layout.SimpleListItem1, items);
lv.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parentView, View childView, int position, long id) {
var t = items[position];
Android.Widget.Toast.MakeText(activity, t, Android.Widget.ToastLength.Short).Show();
}
});
lv.Adapter = ListAdapter;
}
}
公共类AppActivity扩展活动{
公共活动;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
活动=此;
ListView lv=FindViewById(Resource.Id.listView1);
items=新字符串[]{“Aaaa”、“bbb”、“cccc”、“dddd”、“eeee”、“ffff”、“gggg”};
var ListAdapter=new ArrayAdapter(这个,android.Resource.Layout.SimpleListItem1,items);
lv.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
已选择公共视图(AdapterView父视图、View子视图、int位置、长id){
var t=项目[位置];
MakeText(activity,t,Android.Widget.ToastLength.Short).Show();
}
});
lv.Adapter=ListAdapter;
}
}
使用onItemSelectListener而不是onClick
public class AppActivity extends Activity {
public Activity activity;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
activity = this;
ListView lv = FindViewById<ListView>(Resource.Id.listView1);
items = new string[] { "Aaaa", "bbb", "cccc", "dddd", "eeee", "ffff", "gggg" };
var ListAdapter = new ArrayAdapter<String>(this, android.Resource.Layout.SimpleListItem1, items);
lv.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
public void onItemSelected(AdapterView<?> parentView, View childView, int position, long id) {
var t = items[position];
Android.Widget.Toast.MakeText(activity, t, Android.Widget.ToastLength.Short).Show();
}
});
lv.Adapter = ListAdapter;
}
}
公共类AppActivity扩展活动{
公共活动;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
活动=此;
ListView lv=FindViewById(Resource.Id.listView1);
items=新字符串[]{“Aaaa”、“bbb”、“cccc”、“dddd”、“eeee”、“ffff”、“gggg”};
var ListAdapter=new ArrayAdapter(这个,android.Resource.Layout.SimpleListItem1,items);
lv.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
已选择公共视图(AdapterView父视图、View子视图、int位置、长id){
var t=项目[位置];
MakeText(activity,t,Android.Widget.ToastLength.Short).Show();
}
});
lv.Adapter=ListAdapter;
}
}
Hi KEYSAN,我不能使用setOnItemSelectedListener,我只有setonclicklistener,因为我有一个活动类而不是列表活动类。我想这就是我不能使用setOnItemSelectedListener的原因,因为我在构建它时得到了“不包含“setOnItemSelectedListener”的定义。不要像这样定义“protected void OnListClick(ListView ListView,View View,int pos,long id)”将此代码添加到lv.Adapter=ListAdapter之前;(不要忘记将lv更改为ListView:D)你能不能说得更具体一点,我不太明白我该怎么做。对不起,谢谢!嗨,凯桑,我不能使用setOnItemSelectedListener,我只有setonclicklistener,因为我有一个活动类而不是列表活动类。我想这就是我不能使用setOnItemSelectedListener的原因,因为我得到了“生成时不包含“setOnItemSelectedListener”的定义。不要像“protected void OnListClick(ListView ListView,View View,int pos,long id)”这样定义,在lv之前添加此代码。Adapter=ListAdapter;(不要忘记将lv更改为ListView:D)请你说得具体一点,我不太明白我该怎么办。对不起,谢谢!