`
单眼皮小猪
  • 浏览: 122758 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

动态的向布局中添加布局控件实现ListView效果列表项效果

阅读更多
因为接触Android时间不久,公司项目中要用到ListView嵌套EditView,但是本人水平有限,无法解决两种控件之间的各种问题,无奈之下,希望另辟蹊径,可以实现类似效果。
翻阅了一段时间的资料后,发现动态的向LinearLayout中添加iten布局文件, 也可以实现类似效果,而且控制起来更灵活,特将代码标记一下,方便大家交流。代码如下:
首先是两个布局文件main.xml和testitem.xml

main.xml
<?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"
	>
	<LinearLayout
	    android:orientation="vertical"
	    android:layout_width="fill_parent"
	    android:layout_height="fill_parent"
	    android:id="@+id/testline1"
	    >

	</LinearLayout>
</RelativeLayout>


testitem.xml,此布局文件为主布局文件的item
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="fill_parent"
	android:layout_height="wrap_content"
	android:orientation="horizontal"
	>
 	<TextView
 	    android:id="@+id/text1"
 	    android:layout_width="wrap_content"
 	    android:layout_height="wrap_content"
 	    android:textColor="#FFFFFF"
 	    android:textSize="16sp"
 	    />
 	<EditText 
 	    android:id="@+id/edit1"
 	    android:layout_width="wrap_content"
 	    android:layout_height="35dip"
 	    android:textColor="#000000"
 	    android:textSize="16sp"
 	    android:hint="1"
 	    />
 	<Button 
 	    android:id="@+id/but1"
 	    android:layout_width="wrap_content"
 	    android:layout_height="35dip"
 	    android:textColor="#000000"
 	    android:textSize="16sp"
 	    />
 	    
</LinearLayout>


Acitvity主要代码文件:OneTestActivity.java
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;

public class OneTestActivity extends Activity {
	private LinearLayout mainline;//主布局
	private View itemview;//要添加的列表项
	private Button but1;
	private EditText edit1;
	private TextView text1;
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		//获取主布局
		mainline = (LinearLayout)findViewById(R.id.testline1);
		//这里利用循环将所需要的布局加进去,可以在此循环中给控件赋值
		for(int i=0;i<5;i++){
			//实例化item布局
			itemview = View.inflate(this, R.layout.testitem,null);
			//给item布局添加ID,此ID为int类型任意值
			itemview.setId(i);
			mainline.addView(itemview);
			//此时获取的控件必须为列表项itemview中的控件
			but1 = (Button)itemview.findViewById(R.id.but1);
			but1.setText("按钮:"+i);
			edit1 = (EditText)itemview.findViewById(R.id.edit1);
			edit1.setText("编辑框:"+i);
			text1 = (TextView)itemview.findViewById(R.id.text1);
			text1.setText("文本:"+i);
		}
	}
	
}

在for循环中可以对每个Item进行操作,这样就实现了ListView的类似效果,因为是刚试验出来的,可能有些东西还未考虑完全,如果后续发现,会慢慢补充。

代码附件在下面。
1
0
分享到:
评论
2 楼 liuxuebing2010 2015-11-19  
Android4.4手机,没看到哪里体现动态加载布局
1 楼 杨秀梅王俊翔 2015-01-27  
怎么给每个but添加事件

相关推荐

    C# ListView中添加多种自定义控件源码

    在C#编程中,ListView控件是Windows Forms和WPF应用程序中常见的组件,用于显示数据集,通常以列表或网格的形式。本主题将深入探讨如何在C#的ListView中添加和使用各种自定义控件,如CheckBox和ComboBox,以增强用户...

    C# ListView中添加ComboBox等控件

    在C#编程中,ListView控件是...这使得用户界面更具交互性,允许用户在ListView的每一项中进行选择,极大地增强了用户体验。记住,关键在于正确地创建、添加和绑定事件到ComboBox,并确保它们与ListView的布局协调一致。

    ListView中动态添加控件

    当我们需要在ListView中动态添加控件时,通常涉及到列表项的自定义、适配器(Adapter)的使用以及数据集合(如ArrayList)的操作。以下是对这个主题的详细讲解。 1. **ListView的基本结构**: - **ListView**:是...

    WPF的ListView控件自定义布局用法实例

    在WPF中,ListView控件是一个非常常用的组件,它用于展示数据集合,并提供了多种布局方式。自定义布局允许开发者根据需求灵活设计ListView显示的内容和样式。本实例将深入讲解如何在WPF中自定义ListView控件的布局。...

    eclipse动态添加布局

    在上面的代码中,我们可以看到一个基本的示例,演示如何在Eclipse中动态添加布局。首先,我们需要创建一个MainActivity类,继承自Activity类,并重写onCreate方法。在onCreate方法中,我们首先获取布局文件的根节点...

    ListView添加左滑删除控件

    3. **动态改变视图**:当检测到左滑手势时,通过改变列表项的布局参数或者使用TranslationX属性,让删除按钮或提示逐渐显现。可以使用Animation或者ObjectAnimator来实现平滑的动画效果。 4. **事件处理**:为显示...

    android ListView 网格布局

    在这个案例中,我们采用的是网格布局,这意味着每个列表项将占据多列空间,而不是默认的一整列。 要实现网格布局,我们需要使用GridView或者结合使用ListView和GridLayout。由于标题提到的是“ListView的网格视图”...

    案例四(带有控件的ListView

    通过在每个ListView项中添加自定义控件,开发者可以创建出具有动态效果和复杂功能的列表,如按钮、图片、文本输入框等。 【知识点详解】: 1. **ListView基础**:ListView是Android中用于展示大量数据的列表视图,...

    ListView控件实现grid

    在本场景中,我们关注的是如何利用ListView控件来实现一个网格(grid)展示的效果。这通常涉及到自定义绘制(owner draw)功能,使我们可以根据需求定制ListView的显示样式。 1. **ListView控件基础** - ListView...

    自定义控件实现listView中的图片轮换

    在Android开发中,为了增强应用的用户体验,我们经常需要实现一些独特的视觉效果,例如在ListView中展示图片轮换。这个自定义控件的实现主要涵盖了以下几个关键知识点: 1. **ListView**: ListView是Android中用于...

    Android中ListView实现表格效果

    因此,要实现表格效果,关键在于创建一个能展示多列数据的ListView项布局。 1. **创建布局文件** - 创建一个XML布局文件,作为ListView的每一项(Item)的模板。这个模板需要包含多列元素,例如`TextView`,用于...

    Android 实现ListView 3D效果 - 2 - 弹性滚动,Fling

    在这个Adapter中,我们需要重写`getView()`方法,以便为每个列表项设置不同的3D变换。这通常涉及到对每个View进行额外的布局参数调整和绘图操作。 2. **3D变换**:在`getView()`中,我们可以获取到当前项的索引...

    ListView Item多布局的实现

    然而,有时我们不仅仅满足于单一的列表项布局,而是希望在同一个ListView中展示多种不同的布局,这就是所谓的"ListView Item多布局"。这种功能可以使得应用界面更加丰富多彩,提供更好的用户体验。本文将详细介绍...

    用ListView动态增加控件

    本教程将聚焦于如何在ListView中动态增加控件,以此来适应不同场景的需求。 首先,我们需要了解ListView的基本结构。ListView通常结合Adapter一起使用,Adapter是连接数据源和ListView的桥梁。它负责将数据转化为...

    Android之ListView列表视图和界面跳转实现

    为了展示ListView中的每一条数据,我们需要创建一个单独的布局文件来表示每个列表项。例如,创建一个名为`list_item.xml`的文件: ```xml xmlns:android="http://schemas.android.com/apk/res/android" android:...

    Android 实现ListView 3D效果 - 1

    在Android开发中,ListView是常用的一种控件,用于展示大量数据列表。为了增强用户体验和界面的视觉吸引力,开发者经常尝试实现各种独特的效果,比如3D效果。本篇将详细讲解如何在Android中实现ListView的3D翻转效果...

    Android中ListView动态添加删除项

    本教程将详细讲解如何在Android中实现ListView的动态添加和删除项功能。 一、ListView的基本使用 1. 布局文件:在XML布局文件中,我们需要定义一个ListView,通常会有一个对应的适配器(Adapter)来填充数据。例如...

    Android中最常用的控件之ListView

    在Android开发中,ListView是不可或缺的一个控件,它主要用于显示大量的数据列表,具有滚动和复用视图的特点,能够高效地处理大量数据。本篇文章将详细介绍ListView的基本使用以及如何自定义ListView的Item。 首先...

    listview实现三级列表 listview实现三级列表

    在布局文件中,我们为ListView设置`Level1Adapter`,并确保每个一级列表项内有一个嵌套的ListView来展示二级列表。同样,二级列表项内部也需要嵌套一个ListView来展示三级列表。通过这种方式,我们可以在同一个...

Global site tag (gtag.js) - Google Analytics