ListView局部刷新
来源:互联网 发布:数组对象方法排序 编辑:程序博客网 时间:2024/06/07 00:28
listview局部刷新
上面这个方式是用来获取需要修改的View
在通过点击item时的OnItemChickListener 来刷新listview的某一条
其余代码
package com.taisheng.fh.myapplication.ten_seven;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.util.Log;import android.view.Gravity;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.ListView;import android.widget.RelativeLayout;import android.widget.TextView;import com.taisheng.fh.myapplication.R;import java.util.ArrayList;import java.util.List;public class Ten_Sevent_Activity extends AppCompatActivity { private ListView listView ; private List<MyListItemBean> lists ; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_ten__sevent_); initData(); listView = (ListView) findViewById(R.id.listview); final MyListAdapter adapter = new MyListAdapter(lists); listView.setAdapter(adapter); listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { MyListItemBean listItemBean = (MyListItemBean)parent.getItemAtPosition(position);//获得点击数据源 listItemBean.setName("updata name");//更改点击数据源 adapter .updataName(listItemBean,position);// 把参数出入方法进行局部改变 } }); } private void initData(){ lists = new ArrayList<>(); for (int i = 0; i < 20; i++) { lists.add(new MyListItemBean("name"+i,""+i)); } } class MyListAdapter extends BaseAdapter{ private List<MyListItemBean> list; public MyListAdapter(List<MyListItemBean> list) { this.list = list; } @Override public int getCount() { return list.size(); } @Override public Object getItem(int position) { return list.get(position); } @Override public long getItemId(int position) { return position; } public void updataName(MyListItemBean myListItemBean ,int position){ int visiblePosition = listView.getFirstVisiblePosition(); // 如添加headerview后 firstview就是hearderview // 所有索引+1 取第一个view // View view = listview.getChildAt(index - visiblePosition + 1); // 获取点击的view View views = listView.getChildAt(position - visiblePosition); TextView v_text = (TextView) views.findViewById(R.id.item_text); v_text.setText(myListItemBean.getName()); } @Override public View getView(int position, View convertView, ViewGroup parent) { viewHolder holder = null; if (convertView==null) { convertView = LayoutInflater.from(Ten_Sevent_Activity.this).inflate(R.layout.ten_seven_list_item_layout, null); holder = new viewHolder(); holder.textView = (TextView)convertView.findViewById(R.id.item_text); convertView.setTag(holder); }else { holder = (viewHolder) convertView.getTag(); } MyListItemBean itemBean = list.get(position); holder.textView.setText(itemBean.getName()); return convertView ; } class viewHolder{ TextView textView ; } } class MyListItemBean{ private String name ; private String position; public MyListItemBean(String name, String position) { this.name = name; this.position = position; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getPosition() { return position; } public void setPosition(String position) { this.position = position; } }}
1 0
- Android ListView 局部刷新
- listView局部刷新
- ListView局部刷新
- ListView局部刷新
- listview的局部刷新
- listview局部刷新
- ListView 局部刷新备忘
- Android ListView局部刷新
- ListView 局部刷新
- ListView的局部刷新
- listview 局部刷新
- ListView的局部刷新
- ListView局部刷新
- listview的局部刷新
- ListView的局部刷新
- listview的局部刷新
- ListView中的局部刷新
- android listview 局部刷新
- Kill the monster
- Oracle导出表(即DMP文件)的两种方法
- SP2-0618: Cannot find the Session Identifier.Check PLUSTRACE role is enabled
- iOS--Animation总结
- orb-slam的安装/配置/运行
- ListView局部刷新
- 设计模式学习7——适配器模式
- 关于登陆时被截取用户密码的一点想法(出自新手,勿喷)
- 第十二周改成多文件程序
- 基础练习 数列特征
- 18大经典数据挖掘算法小结
- thinkphp常用函数
- Redis Sentinel机制与用法
- Android 的属性动画的实现和使用详解