Android 如何使用listview的in-McClickListener更改仅选定listview行的布局

Android 如何使用listview的in-McClickListener更改仅选定listview行的布局,android,listview,custom-adapter,Android,Listview,Custom Adapter,我需要创建ListView如Samsung联系人列表。当该行被刷卡时,我需要显示该行的自定义布局。还需要在该行的背景显示联系人详细信息。请给我一些想法或参考 多谢各位 list.setOnItemClickListener(stationSelectionListener); final ListSwipeDetector listSwipeDetector=new ListSwipeDetector(); list.setOnTouchListener(listSwipeDetector);

我需要创建
ListView
Samsung联系人列表
。当该行被刷卡时,我需要显示该行的自定义布局。还需要在该行的背景显示联系人详细信息。请给我一些想法或参考

多谢各位

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;
        }
    });
list.setOnItemClickListener(stationSelectionListener);
最终ListSwipeDetector ListSwipeDetector=新ListSwipeDetector();
list.setOnTouchListener(ListSwipedTector);
new UserAndMessageCount(StationListActivity.this).execute();
list.setOnItemClickListener(新的OnItemClickListener(){
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
if(ListSwipedTector.SwipedTected()){
Toast.makeText(StationListActivity.this,“sWIPE1”,Toast.LENGTH\u LONG.show();
LayoutFlater充气器=(LayoutFlater)getApplicationContext().getSystemService(Context.LAYOUT\u充气器\u服务);
查看视图新建=充气机。充气(R.layout.View\u flow\u common\u页面,空);
视图=视图新建;
} 
否则{
ConstantValues.STATION_NAME=((TextView)view.findViewById(R.id.TextView)).getText().toString();
LayoutFlater充气器=(LayoutFlater)getApplicationContext().getSystemService(Context.LAYOUT\u充气器\u服务);
查看视图新建=充气机。充气(R.layout.View\u flow\u common\u页面,空);
//startActivity(新意图(getApplicationContext(),StationSelectionActivity.class));
}
}
});
list.setOnItemLongClickListener(新的OnItemLongClickListener(){
公共布尔值长单击(AdapterView父项、视图、整型位置、长id){
if(ListSwipedTector.SwipedTected()){
Toast.makeText(StationListActivity.this,“sWIPE3”,Toast.LENGTH\u LONG.show();
}否则{
Toast.makeText(StationListActivity.this,“sWIPE4”,Toast.LENGTH\u LONG.show();
}
返回false;
}
});

onItemClickListener
中,您可以实现
onItemClick(AdapterView父项、视图、int位置、长id)
。如果检索
视图
,则当用户单击该项目时,可以对其进行所需的更改


对于刷卡,您可以修改适配器的
getItem()
函数,并添加
GestureListener
或类似功能。然后,您可以监听滑动并相应地执行操作。

很抱歉,我无法创建我的视图。我知道listview滑动,但不知道如何更改listview的选定行。您要在哪里更改选定行?内部
getItem()
?或者在
onItemClick()
内部?我不知道getItem()的情况,所以我尝试了使用onItemClick()。
onItemClick()
的第二个参数
view
,是该项的行。然后,您可以将其强制转换为任何视图,并使用
findViewById()
访问该行中的其他视图。