点击ListView中某个Item按钮,并且修改这个item的内容
来源:互联网 发布:新网域名转入万网 编辑:程序博客网 时间:2024/05/19 16:06
使用接口回调,代码如下:
布局代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.demo.MainActivity" >
<ListView
android:id="@+id/listView"
android:layout_width="fill_parent"
android:layout_height="fill_parent" ></ListView>
</RelativeLayout>
item布局:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:id="@+id/text"
android:layout_width="fill_parent"
android:layout_gravity="center_vertical"
android:layout_height="40dp" />
</LinearLayout>
adapter代码:
package com.example.demo;
import java.util.ArrayList;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;
public class ListViewAdapter extends BaseAdapter {
private Context context;
private ArrayList<String> data = new ArrayList<String>();
private ListViewInterface ListViewInterface;
public ListViewAdapter(Context context, ArrayList<String> data, ListViewInterface listViewInterface) {
super();
this.context = context;
this.data = data;
this.ListViewInterface = listViewInterface;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return data.size();
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return data.get(position);
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
Holder holder = null;
String textString = data.get(position);
if (convertView == null) {
LayoutInflater inflater = LayoutInflater.from(context);
convertView = inflater.inflate(R.layout.listview_item, null);
holder = new Holder();
holder.text = (TextView) convertView.findViewById(R.id.text);
convertView.setTag(holder);
}
holder = (Holder) convertView.getTag();
holder.text.setText(textString);
holder.text.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
ListViewInterface.back(position,"我被修改了!!!!");
}
});
return convertView;
}
class Holder {
TextView text;
}
public interface ListViewInterface {
public void back(int position,String text);
}
}
activity代码:
package com.example.demo;
import java.util.ArrayList;
import com.example.demo.ListViewAdapter.ListViewInterface;
import android.app.Activity;
import android.os.Bundle;
import android.widget.ListView;
public class MainActivity extends Activity {
private ListView listView;
private ArrayList<String> data = new ArrayList<String>();
private ListViewAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setData();
listView = (ListView) findViewById(R.id.listView);
adapter = new ListViewAdapter(this, data, listViewInterface);
listView.setAdapter(adapter);
}
public void setData(){
for (int i = 0; i < 5; i++) {
data.add(new String("data"+i));
}
}
ListViewInterface listViewInterface = new ListViewInterface() {
@Override
public void back(int position,String text) {
data.set(position, new String(text));
adapter.notifyDataSetChanged();
}
};
}
- 点击ListView中某个Item按钮,并且修改这个item的内容
- 在listview嵌套listview 并且想实现点击其中一个item隐藏item的内容
- listview的item中有个checkbox,点击后会修改相应数据库数据,如何在listview中实时显示这个更新?
- ListView的Item中的按钮点击事件
- ListView中点击某个item中的某个控件换本控件的不同背景
- listview的item中不同的点击按钮触发不同的点击事件
- ListView的Item中设置按钮
- Listview中item无法点击的问题
- Android ListView item中有按钮(Button)不能点击或者条目不能点击的问题
- ListView中的item中有删除按钮,点击删除按钮,该item删除。
- listview item中点击按钮变化 滑动错乱
- 横向滚动的ListView并且点击item附带item的背景改变
- Listview中Item点击失效
- 获取ListView中点击Item
- ListView中item点击失效
- listview 中item 点击无效
- 《如何更改其他程序ListView控件中某个Item的内容》 -- 天津 赵春生
- ListView里Item的按钮(控件)点击事件
- 杭电多校赛 contests 4 Rower Bo
- 去除数字里多余的零
- FreeMarker 文件中不能调用JAVA静态函数
- elasticsearch源码分析之客户端(三)
- Android Telephony分析(七) ---- 接口扩展(异步转同步)
- 点击ListView中某个Item按钮,并且修改这个item的内容
- C#连接Oracle数据库(直接引用dll使用)
- 神经网络学习的原理与在OpenCV中的应用
- BZOJ2424 [HAOI2010]订货
- 网页在Safari快速滚动和回弹的原理: -webkit-overflow-scrolling : touch;的实现
- yii 邮件发送
- JS模拟数据去重汇总
- 推理集 —— 逻辑
- webservice中WSDL文档的解析