展会信息港展会大全

Android带删除按钮的ListView
来源:互联网   发布日期:2015-11-25 22:39:14   浏览:2664次  

导读:上图先:import java.util.ArrayList;import com.ql.adapter.DeletableAdapter;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListen......

上图先:

带删除 按钮的ListView

import java.util.ArrayList;

import com.ql.adapter.DeletableAdapter;

import android.app.Activity;

import android.os.Bundle;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.ListView;

public class Test_4_Activity extends Activity {

private DeletableAdapter adapter;

private ArrayList<String> text;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.test4);

ListView list_view = (ListView) findViewById(R.id.list_view);

text = new ArrayList<String>();

text.add("111");

text.add("222");

text.add("333");

text.add("444");

// 初始化数据结束

adapter = new DeletableAdapter(this, text);

list_view.setAdapter(adapter);

// list_view.setSelector(R.drawable.list_select_color);

Button button = (Button) findViewById(R.id.button);

button.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

text.add("10000");

adapter.notifyDataSetChanged();

}

});

}

}

import java.util.ArrayList;

import android.content.Context;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.view.View.OnClickListener;

import android.widget.BaseAdapter;

import android.widget.ImageView;

import android.widget.TextView;

import android.widget.Toast;

import com.ql.activity.R;

public class DeletableAdapter extends BaseAdapter {

private Context context;

private ArrayList<String> text;

public DeletableAdapter(Context context, ArrayList<String> text) {

this.context = context;

this.text = text;

}

@Override

public int getCount() {

// TODO Auto-generated method stub

return text.size();

}

@Override

public Object getItem(int position) {

// TODO Auto-generated method stub

return text.get(position);

}

@Override

public long getItemId(int position) {

// TODO Auto-generated method stub

return position;

}

@Override

public View getView(int position, View convertView, ViewGroup parent) {

// TODO Auto-generated method stub

final int index = position;

View view = convertView;

if (view == null) {

LayoutInflater inflater = (LayoutInflater) context

.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

view = inflater.inflate(R.layout.row_simple_list_item_2, null);

}

final TextView textView = (TextView) view

.findViewById(R.id.simple_item_1);

textView.setText(text.get(position));

final ImageView imageView = (ImageView) view

.findViewById(R.id.simple_item_2);

imageView.setBackgroundResource(android.R.drawable.ic_delete);

imageView.setTag(position);

imageView.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

// TODO Auto-generated method stub

text.remove(index);

notifyDataSetChanged();

Toast.makeText(context, textView.getText().toString(),

Toast.LENGTH_SHORT).show();

}

});

return view;

}

}

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="wrap_content">

<ImageView

android:id="@+id/simple_item_2"

android:layout_width="wrap_content"

android:layout_height="fill_parent"

android:layout_alignParentRight="true"

android:focusable="false" />

<TextView

android:id="@+id/simple_item_1"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:layout_alignParentLeft="true" />

</RelativeLayout>

这里要实现点击ListView里面的一个控件而不是选中一行。

最好重写Adapter,而不要使用其自带的SimpleAdapter,否则该子控件的事件就不那么好处理了!

赞助本站

人工智能实验室

相关热词: 删除 按钮 ListView

相关内容
AiLab云推荐
展开

热门栏目HotCates

Copyright © 2010-2024 AiLab Team. 人工智能实验室 版权所有    关于我们 | 联系我们 | 广告服务 | 公司动态 | 免责声明 | 隐私条款 | 工作机会 | 展会港