Android ListView .....在点击ListView的Item时背景变色 点击释放时背景变为无色且跳转别的Activity.
展开全部
这个问题其实挺简单的,首先要实现item变色只需在ListView的布局中添加如下属性:
android:listSelector="#FFFFFF" //你想要什么颜色,就填什么颜色,
只要焦点没有移动到点击的位置,你松手之后Item的颜色又会变成最初的颜色
至于跳转到别的Activity只需要在程序中获得ListView控件的对象,在其 listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
Intent intent=new Intent(Test01.this,Test02.class);
Test01.this.startActivity(intent);
});
这样就能进行跳转了
android:listSelector="#FFFFFF" //你想要什么颜色,就填什么颜色,
只要焦点没有移动到点击的位置,你松手之后Item的颜色又会变成最初的颜色
至于跳转到别的Activity只需要在程序中获得ListView控件的对象,在其 listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
Intent intent=new Intent(Test01.this,Test02.class);
Test01.this.startActivity(intent);
});
这样就能进行跳转了
展开全部
lv.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
if(event.getAction() == MotionEvent.ACTION_DOWN){
lv.setBackgroundColor(Color.BLUE);
}
else if(event.getAction() == MotionEvent.ACTION_UP){
lv.setBackgroundColor(Color.BLACK);
Intent intent =new Intent(Activity1.this,Activity2.class);
startActivity(intent);
}
return false;
}
});
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
if(event.getAction() == MotionEvent.ACTION_DOWN){
lv.setBackgroundColor(Color.BLUE);
}
else if(event.getAction() == MotionEvent.ACTION_UP){
lv.setBackgroundColor(Color.BLACK);
Intent intent =new Intent(Activity1.this,Activity2.class);
startActivity(intent);
}
return false;
}
});
追问
恩。那请问我想得到ListView的item的postion怎么办?还有我试了下lv加touch事件不得行啊,,touch时是整个的lv。。而不是lv的item.
追答
这样就好了 不过得双击
lv.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView arg0, View arg1, int arg2,
long arg3) {
arg1=arg0.getChildAt(arg2) ;
arg1.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
v.setBackgroundColor(Color.BLUE);
break;
case MotionEvent.ACTION_UP:
v.setBackgroundColor(Color.YELLOW);
Intent intent =new Intent(Activity04.this,Activity03.class);
v.setBackgroundColor(Color.BLACK) ;
startActivity(intent);
}
return true;
}
});
}
});
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
虽然已经回答了,但是还是想说一句:UI效果最好是在xml文件里面完成,代码只写逻辑
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
public void onItemClick() {
}
}
追问
onitemclick 怎么知道是ACTION_DOWN 还是ACTION_UP?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询