展会信息港展会大全

android ListView内数据的动态添加与删除
来源:互联网   发布日期:2015-11-26 15:35:22   浏览:1530次  

导读:洀愀椀渀.xml 文件:01<?xml version="1.0" encoding="utf-8"?> 2<LinearLayout xmlns:android="http:/...

main.xml 文件:

01

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

02

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

03

android:layout_width="fill_parent"

04

android:layout_height="fill_parent"

05

android:orientation="horizontal"

06

>

07

<LinearLayout

08

android:layout_width="fill_parent"

09

android:layout_height="fill_parent"

10

android:orientation="vertical"

11

>

12

<ListView

13

android:id="@+id/listview"

14

android:layout_width="fill_parent"

15

android:layout_height="wrap_content"

16

/>

17

<Button

18

android:id="@+id/add"

19

android:layout_width="wrap_content"

20

android:layout_height="wrap_content"

21

android:text="添加"

22

/>

23

</LinearLayout>

24

</LinearLayout> listview_item.xml文件:

01

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

02

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

03

android:layout_width="fill_parent"

04

android:layout_height="wrap_content"

05

android:orientation="horizontal"

06

android:background="#000000"

07

android:padding="20dp"

08

>

09

10

<EditText

11

android:id="@+id/edit"

12

android:layout_width="200dp"

13

android:layout_height="wrap_content"

14

/>

15

<Button

16

android:id="@+id/del"

17

android:layout_width="wrap_content"

18

android:layout_height="wrap_content"

19

android:text="删除"

20

/>

21

22

</LinearLayout> MainActivity .java

001

package com.yyy.testandroid;

002

003

004

005

import java.util.ArrayList;

006

007

import android.app.Activity;

008

import android.content.Context;

009

import android.os.Bundle;

010

import android.view.LayoutInflater;

011

import android.view.View;

012

import android.view.View.OnClickListener;

013

import android.view.View.OnFocusChangeListener;

014

import android.view.ViewGroup;

015

import android.widget.BaseAdapter;

016

import android.widget.Button;

017

import android.widget.EditText;

018

import android.widget.ListView;

019

import android.widget.TextView;

020

021

public class TestAndroidActivity extends Activity {

022

/** Called when the activity is first created. */

023

024

private Button button,add;

025

private TextView text;

026

private ListView listview;

027

public MyAdapter adapter;

028

@Override

029

public void onCreate(Bundle savedInstanceState) {

030

super.onCreate(savedInstanceState);

031

setContentView(R.layout.main);

032

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

033

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

034

adapter = new MyAdapter(this);

035

listview.setAdapter(adapter);

036

037

add.setOnClickListener(new OnClickListener() {

038

@Override

039

public void onClick(View arg0) {

040

// TODO Auto-generated method stub

041

adapter.arr.add("");

042

adapter.notifyDataSetChanged();

043

}

044

});

045

}

046

047

048

private class MyAdapter extends BaseAdapter {

049

050

private Context context;

051

private LayoutInflater inflater;

052

public ArrayList<String> arr;

053

public MyAdapter(Context context) {

054

super();

055

this.context = context;

056

inflater = LayoutInflater.from(context);

057

arr = new ArrayList<String>();

058

for(int i=0;i<3;i++){//listview初始化3个子项

059

arr.add("");

060

}

061

}

062

@Override

063

public int getCount() {

064

// TODO Auto-generated method stub

065

return arr.size();

066

}

067

@Override

068

public Object getItem(int arg0) {

069

// TODO Auto-generated method stub

070

return arg0;

071

}

072

@Override

073

public long getItemId(int arg0) {

074

// TODO Auto-generated method stub

075

return arg0;

076

}

077

@Override

078

public View getView(final int position, View view, ViewGroup arg2) {

079

// TODO Auto-generated method stub

080

if(view == null){

081

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

082

}

083

final EditText edit = (EditText) view.findViewById(R.id.edit);

084

edit.setText(arr.get(position));//在重构adapter的时候不至于数据错乱

085

Button del = (Button) view.findViewById(R.id.del);

086

edit.setOnFocusChangeListener(new OnFocusChangeListener() {

087

@Override

088

public void onFocusChange(View v, boolean hasFocus) {

089

// TODO Auto-generated method stub

090

if(arr.size()>0){

091

arr.set(position, edit.getText().toString());

092

}

093

}

094

});

095

del.setOnClickListener(new OnClickListener() {

096

@Override

097

public void onClick(View arg0) {

098

// TODO Auto-generated method stub

099

//从集合中删除所删除项的EditText的内容

100

arr.remove(position);

101www.2cto.com

adapter.notifyDataSetChanged();

102

}

103

});

104

return view;

105

}

106

}

107

}

赞助本站

人工智能实验室

相关热词: android开发 教程

AiLab云推荐
展开

热门栏目HotCates

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