如何在列表视图中onitemclicklistener改变唯一入选的ListView行布局 [英] How to change layout of only selected listview row with in onitemclicklistener of listview

查看:131
本文介绍了如何在列表视图中onitemclicklistener改变唯一入选的ListView行布局的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要创建的ListView 三星联系人列表。我需要显示自定义布局该行而行刷卡。而且还需要在该行的背景显示联系人细节。请给我一些想法或引用。

感谢你。

  list.setOnItemClickListener(stationSelectionListener);
最后ListSwipeDetector listSwipeDetector =新ListSwipeDetector();
list.setOnTouchListener(listSwipeDetector);
新UserAndMessageCount(StationListActivity.this).execute();
list.setOnItemClickListener(新OnItemClickListener(){
        公共无效onItemClick(适配器视图<>母公司,观景,INT位置,长的id){
                如果(listSwipeDetector.swipeDetected()){
                    Toast.makeText(StationListActivity.thissWIPE1,Toast.LENGTH_LONG).show();
                    LayoutInflater吹气=(LayoutInflater)getApplicationContext()getSystemService(Context.LAYOUT_INFLATER_SERVICE)。
                    查看viewNew = inflater.inflate(R.layout.view_flow_common_page,NULL);
                    鉴于= viewNew;
                }
                其他{
                    ConstantValues​​.STATION_NAME =((的TextView)view.findViewById(R.id.textView))的getText()的toString()。
                    LayoutInflater吹气=(LayoutInflater)getApplicationContext()getSystemService(Context.LAYOUT_INFLATER_SERVICE)。
                    查看viewNew = inflater.inflate(R.layout.view_flow_common_page,NULL);
                    // startActivity(新意图(getApplicationContext(),StationSelectionActivity.class));
                }
            }
    });
    list.setOnItemLongClickListener(新OnItemLongClickListener(){
        公共布尔onItemLongClick(适配器视图<>母公司,观景,INT位置,长的id){
            如果(listSwipeDetector.swipeDetected()){
                Toast.makeText(StationListActivity.thissWIPE3,Toast.LENGTH_LONG).show();
            }其他{
                Toast.makeText(StationListActivity.thissWIPE4,Toast.LENGTH_LONG).show();
            }
            返回false;
        }
    });


解决方案

onItemClickListener ,可以实施 onItemClick(适配器视图<>父,观景,INT位置,长的ID)。如果您检索视图,您可以设置当用户点击该项目让你需要它的变化。

有关刷卡,您可以修改您的适配器的getItem()功能,并添加 GestureListener 或类似的东西<一个HREF =htt​​ps://github.com/krishjlk/android-listview-swipe-delete-example-sample-tuorial相对=nofollow>这code 。然后,你可以听滑动和采取相应的行动。

I need to create ListView like Samsung Contact List. And I need to show custom layout for that row while that row is swiped. And also need to show contact detail at background of that row. Please give me some ideas or reference.

Thank You.

list.setOnItemClickListener(stationSelectionListener);
final ListSwipeDetector listSwipeDetector=new ListSwipeDetector();
list.setOnTouchListener(listSwipeDetector);
new UserAndMessageCount(StationListActivity.this).execute();
list.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                if (listSwipeDetector.swipeDetected()){
                    Toast.makeText(StationListActivity.this,"sWIPE1",Toast.LENGTH_LONG).show();
                    LayoutInflater inflater=(LayoutInflater)getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                    View viewNew=inflater.inflate(R.layout.view_flow_common_page, null);
                    view=viewNew;
                } 
                else {
                    ConstantValues.STATION_NAME=((TextView)view.findViewById(R.id.textView)).getText().toString();
                    LayoutInflater inflater=(LayoutInflater)getApplicationContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                    View viewNew=inflater.inflate(R.layout.view_flow_common_page, null);
                    //startActivity(new Intent(getApplicationContext(), StationSelectionActivity.class));
                }
            }
    });
    list.setOnItemLongClickListener(new OnItemLongClickListener() {
        public boolean onItemLongClick(AdapterView<?> parent, View view,int position, long id) {
            if (listSwipeDetector.swipeDetected()){
                Toast.makeText(StationListActivity.this,"sWIPE3",Toast.LENGTH_LONG).show();
            } else {
                Toast.makeText(StationListActivity.this,"sWIPE4",Toast.LENGTH_LONG).show();
            }
            return false;
        }
    });

解决方案

Within onItemClickListener, you can implement onItemClick (AdapterView<?> parent, View view, int position, long id). If you retrieve the view, you can make the changes you need for it when the user clicks on that item.

For swiping, you can modify your adapter's getItem() function and add a GestureListener or something like this code. Then you can listen for swipes and act accordingly.

这篇关于如何在列表视图中onitemclicklistener改变唯一入选的ListView行布局的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆