Android:无法同时设置:setOnItemClickListener setOnScrollListener?
添加ListView.setOnScrollListener后(此) onItemClick(…)不再触发 有人知道为什么吗Android:无法同时设置:setOnItemClickListener setOnScrollListener?,android,onitemclicklistener,Android,Onitemclicklistener,添加ListView.setOnScrollListener后(此) onItemClick(…)不再触发 有人知道为什么吗 谢谢。我不明白为什么它不起作用 试试这个: class MyActivity extends Activity implements OnScrollListener, OnItemClickListener { ... listView.setOnItemClickListener(this); listView.setOnScrollListener(this);
谢谢。我不明白为什么它不起作用 试试这个:
class MyActivity extends Activity implements OnScrollListener, OnItemClickListener {
...
listView.setOnItemClickListener(this);
listView.setOnScrollListener(this); // why not work with previous line?
...
private-OnItemClickListener onAnswerClicked=new-OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父视图、视图、整型位置、,
长id){
//
意图i=新意图();
setResult(结果_OK,i);
完成();
}
};
私有OnScrollListener OnAnswersScrold=新建OnScrollListener(){
@凌驾
公共无效onScrollStateChanged(AbsListView视图,int scrollState){
//不用
}
@凌驾
public void onScroll(AbsListView视图,int firstVisibleItem,
int visibleItemCount,int totalItemCount){
//做点什么
}
}
};
试试这个。这是我显示自定义listView的代码。它对我有用
private OnItemClickListener onAnswerClicked = new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
//
Intent i = new Intent();
setResult(RESULT_OK, i);
finish();
}
};
private OnScrollListener onAnswersScrolled = new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
// not used
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
// do something
}
}
};
希望有帮助。trued:added on row.xml安卓:focusable=“false”安卓:focusableInTouchMode=“false”仍不工作。
private OnItemClickListener onAnswerClicked = new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
//
Intent i = new Intent();
setResult(RESULT_OK, i);
finish();
}
};
private OnScrollListener onAnswersScrolled = new OnScrollListener() {
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
// not used
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
// do something
}
}
};
public class MyActivity extends ListActivity implements OnScrollListener {
MyAdapter adapter= new MyAdapter(this);
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setListAdapter(adapter);
getListView().setOnItemClickListener(this);
getListView().setOnScrollListener(this);
}
public class MyAdapter extends BaseAdapter{
private LayoutInflater mInflater;
ViewHolder holder = null;
public MyAdapter(Context context){
this.mInflater = LayoutInflater.from(context);
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return mData.size();
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
/**Original holder
*
*
* */
//ViewHolder holder = null;
if (convertView == null) {
holder=new ViewHolder();
}else {
holder = (ViewHolder)convertView.getTag();
}
return convertView;
}
class myButtonListener implements OnClickListener {
private int position;
myButtonListener(int pos) {
position = pos;
}
@Override
public void onClick(View v) {
int vid=v.getId();
}
}
}