问题
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;
}
});
回答1:
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.
来源:https://stackoverflow.com/questions/14746349/how-to-change-layout-of-only-selected-listview-row-with-in-onitemclicklistener-o