ListView

这里主要说一下,ListView支持OnItemClickListener事件,而Spinner不支持,Spinner中OnItemSelectedListener和ListView中OnItemSelectedListener的实现是不一样的,[color=red]个人感觉Spinner中的OnItemSelectedListener跟ListView中的OnItemClickListener实现应该类似,但不知为何要用OnItemSelectedListener而不用OnItemClickListener这个名字,请知道的朋友指点一下。[/color]
另外,你可以在ListView下面配置一个TextView,设置它的id属性为"@+id/android:empty",只要程序看到该ID,就会隐藏这个Widget配置,大家可以试试。
如果你的Activity是继承的ListActivity,并且你自定义了一个layout,那么你必须在这个layout里面定义一个ListView,并且将它的ID设置成android内置的id(android:id="@android:id/list")相关解释都在代码中,不多说了。
package com.kevin.listview;

import android.app.Activity;
import android.graphics.Color;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.CheckedTextView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;

public class Main extends Activity {
private String[] week = new String[]{
"sunday",
"monday",
"tuesday",
"wednesday",
"thursday",
"friday",
"saturday"
};
private LinearLayout layout;
private TextView tv_title;
private ListView listView;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv_title = (TextView) findViewById(R.id.tv_title);
listView = (ListView) findViewById(R.id.listView1);
listView.setBackgroundColor(Color.LTGRAY);
// 创建adapter
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.my_simple_list_item,week);
/*
* 如果你希望选择一个值以上
*/
// listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);
//ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice,week);
// 添加打ListView
listView.setAdapter(adapter);
// 鼠标滚轮滚动事件
listView.setOnItemSelectedListener(new OnItemSelectedListener() {

@Override
public void onItemSelected(AdapterView<?> parent, View view,
int position, long id) {
System.out.println("onItemSelected");
tv_title.setText("你选择的是: " + parent.getSelectedItem().toString());
}

@Override
public void onNothingSelected(AdapterView<?> arg0) {
// TODO Auto-generated method stub

}
});
// 鼠标单击事件(Spinner不支持该事件)
listView.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
System.out.println("onItemClick");
tv_title.setText("你选择的是: " + ((CheckedTextView)view).getText().toString());
}
});
}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值