Android 将列表视图中的项目映射到单击次数
我有一个用自定义阵列适配器填充的ListView。我想获取ListView中每个项目的总点击次数。如何映射ListView项目id和多个项目在该项目上的点击次数?使用此代码。。准确的为您硬编码整个代码:pAndroid 将列表视图中的项目映射到单击次数,android,listview,Android,Listview,我有一个用自定义阵列适配器填充的ListView。我想获取ListView中每个项目的总点击次数。如何映射ListView项目id和多个项目在该项目上的点击次数?使用此代码。。准确的为您硬编码整个代码:p HashMap<Integer,Integer> map_positions_and_count = new HashMap<>(); listView.setOnItemClickListener(new AdapterView.OnItemCli
HashMap<Integer,Integer> map_positions_and_count = new HashMap<>();
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
for (int i = 0; i<listView.getAdapter().getCount()-1; i++)
{
if (i == position)
{
if (map_positions_and_count .get(position) !=null)
{
map_positions_and_count .put(position,map_positions_and_count .get(position)+1);
}
else {
map_positions_and_count .put(position,1);
}
}
}
// map.put(position,)
}
});
HashMap\u位置和计数=新HashMap();
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
对于(int i=0;i你可以在你的活动中尝试这一点
ArrayList<Integer> arrayList=new ArrayList<>();//make this as global
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if(arrayList.get(position)!=null) {
int a = arrayList.get(position);
arrayList.set(position, a+1);
}
else
arrayList.set(position,1);
}
});
ArrayList ArrayList=new ArrayList();//将其设置为全局
setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
if(arrayList.get(position)!=null){
int a=arrayList.get(位置);
arrayList.set(位置,a+1);
}
其他的
arrayList.set(位置1);
}
});
试试这个代码->
final HashMap<Integer, Integer> listItemCount = new HashMap<Integer, Integer>();
//Set an onItemClickListener
mListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if (listItemCount.containsKey(position)){
listItemCount.put(position, listItemCount.get(position)+1);
}else {
listItemCount.put(position, 1);
}
}
});
final HashMap listItemCount=new HashMap();
//设置一个侦听器
mListView.setOnItemClickListener(新的AdapterView.OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
if(listItemCount.containsKey(位置)){
listItemCount.put(位置,listItemCount.get(位置)+1);
}否则{
listItemCount.put(位置1);
}
}
});
您可以在arraylist中存储列表视图
上的项目位置设置OnItemClickListener
,并在onItemClick
方法中更新数据模型,然后调用适配器35; DataSnotifyetChanged