展会信息港展会大全

android 一个Activity多个listview
来源:互联网   发布日期:2015-11-26 11:52:28   浏览:1623次  

导读:当我们直接在布局文件中写三个listview的时候,会出现三个滚动条,并且每个listview都只显示一个item,要改动才显示更多。怎么做才好了?办法是有得:用一个ScrollView包...

当我们直接在布局文件中写三个listview的时候,会出现三个滚动条,并且每个listview都只显示一个item,要改动才显示更多。怎么做才好了?

办法是有得:用一个ScrollView包含一个大布局,然后把这三个listview加到里面去。

新建一个布局文件:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

android:id="@+id/scrollview"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:fadingEdge="none"

android:scrollbars="vertical">

android:id="@+id/linearlayout"

android:layout_width="match_parent"

android:layout_height="fill_parent"

android:orientation="vertical" >

一个Java文件:

package com.test;

import java.util.ArrayList;

import java.util.HashMap;

import android.app.Activity;

import android.graphics.Color;

import android.os.Bundle;

import android.view.Gravity;

import android.view.LayoutInflater;

import android.view.ViewGroup.LayoutParams;

import android.view.Window;

import android.widget.LinearLayout;

import android.widget.ListView;

import android.widget.ScrollView;

import android.widget.TextView;

import com.listviewtest.R;

/**

* 三个Listview共享一个滚动条

* @author mark

*

*/

public class MainActivity extends Activity{

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);// 去掉标题栏

setContentView(R.layout.main);

initView();

addFirstListview();

addSecondListview();

addThirdListview();

//scrollView.addView(all);

}

ScrollView scrollView;

LinearLayout all;

private void initView() {

LayoutInflater inflater = LayoutInflater.from(MainActivity.this);

//LinearLayout linearLayout = (LinearLayout) inflater.inflate(R.layout.main, null);

//layout_topic = (LinearLayout) linearLayout.findViewById(R.id.linearlayout);

all = (LinearLayout) findViewById(R.id.linearlayout);

scrollView = (ScrollView) findViewById(R.id.scrollview);

}

private void addFirstListview( ){

TextView textView = new TextView(MainActivity.this);

textView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));

textView.setText("第一个列表");

textView.setGravity(Gravity.LEFT);

textView.setTextSize(18);

textView.setTextColor(Color.BLACK);

all.addView(textView);

ArrayList> arraylist = new ArrayList>(); // 生成动态数组

HashMap map;

for (int i = 1; i

map = new HashMap();

map.put("text", "text" + i );

arraylist.add(map);

}

ListViewAdapter listViewAdapter = new ListViewAdapter(MainActivity.this, arraylist);

ListView listView = new ListView(MainActivity.this);

int height = arraylist.size() * (int) getResources().getDimension(R.dimen.listview_item_height);

listView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, height));

listView.setDividerHeight(1);

listView.setAdapter(listViewAdapter);

all.addView(listView);

}

private void addSecondListview( ){

TextView textView = new TextView(MainActivity.this);

textView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));

textView.setText("第二个列表");

textView.setGravity(Gravity.LEFT);

textView.setTextSize(18);

textView.setTextColor(Color.BLACK);

all.addView(textView);

ArrayList> arraylist = new ArrayList>(); // 生成动态数组

HashMap map;

for (int i = 11; i

map = new HashMap();

map.put("text", "text" + i );

arraylist.add(map);

}

ListViewAdapter listViewAdapter = new ListViewAdapter(MainActivity.this, arraylist);

ListView listView = new ListView(MainActivity.this);

int height = arraylist.size() * (int) getResources().getDimension(R.dimen.listview_item_height);

listView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, height));

listView.setDividerHeight(1);

listView.setAdapter(listViewAdapter);

all.addView(listView);

}

private void addThirdListview( ){

TextView textView = new TextView(MainActivity.this);

textView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT));

textView.setText("第三个列表");

textView.setGravity(Gravity.LEFT);

textView.setTextSize(18);

textView.setTextColor(Color.BLACK);

all.addView(textView);

ArrayList> arraylist = new ArrayList>(); // 生成动态数组

HashMap map;

for (int i = 21; i

map = new HashMap();

map.put("text", "text" + i );

arraylist.add(map);

}

ListViewAdapter listViewAdapter = new ListViewAdapter(MainActivity.this, arraylist);

ListView listView = new ListView(MainActivity.this);

int height = arraylist.size() * (int) getResources().getDimension(R.dimen.listview_item_height);

listView.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, height));

listView.setDividerHeight(1);

listView.setAdapter(listViewAdapter);

all.addView(listView);

}

}

其中设置listview的高度是重点。

项目源代码在这里,需要可以下载

赞助本站

人工智能实验室

相关热词: android开发

AiLab云推荐
展开

热门栏目HotCates

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