如何在列表视图中onitemclicklistener改变唯一入选的ListView行布局 [英] How to change layout of only selected listview row with in onitemclicklistener of 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 =https://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屋!