展会信息港展会大全

android开发listviewAdapter从activity中获取数据,用listview显示
来源:互联网   发布日期:2015-11-26 11:23:53   浏览:6492次  

导读:目的:从一个activity中得到数据,在实现用listview显示数据。这里主要穿插了一个activity之间传递数据的功能。总共有两个activity,DataActivity:设置要显示的数据MtListView:显示数据DataAvtivity:package ...

目的:从一个activity中得到数据,在实现用listview显示数据。这里主要穿插了一个activity之间传递数据的功能。

总共有两个activity,

DataActivity:设置要显示的数据

MtListView:显示数据

DataAvtivity:

package com.example.vlist;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.util.Log;

public class DataActvity extends Activity {

private String TAG="DataActvity";

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

String title12="title123";

String image12="image1";

String datetime12="datetime1";

Log.d(TAG, "数据title------>"+title12);

Intent intent = new Intent();

intent.setClass(DataActvity.this, MyListView.class);

Bundle myBund=new Bundle();

myBund.putString("title12",title12);//左边是键,右边是值。

myBund.putString("image12", image12);

myBund.putString("datetime12",datetime12);

Log.d(TAG, "数据myBund------>"+myBund);

intent.putExtras(myBund);

Log.d(TAG, "数据intent------>"+intent);

startActivity(intent);//启动MyListView

}

}

MyListView:

package com.example.vlist;

import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import android.app.AlertDialog;

import android.app.ListActivity;

import android.content.Context;

import android.content.DialogInterface;

import android.content.Intent;

import android.os.Bundle;

import android.util.Log;

import android.view.LayoutInflater;

import android.view.View;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.Button;

import android.widget.ImageView;

import android.widget.LinearLayout;

import android.widget.ListView;

import android.widget.RelativeLayout;

import android.widget.SimpleAdapter;

import android.widget.TextView;

public class MyListView extends ListActivity {

private List<Map<String, Object>> mData;

private String TAG="MyListView";

public String image;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

mData = getData();

MyAdapter adapter = new MyAdapter(this);

setListAdapter(adapter);

}

private List<Map<String, Object>> getData() {

List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();

Bundle budle=this.getIntent().getExtras();

Log.d(TAG, "得到的budle------->"+budle);

String title=budle.getString("title12");

image=budle.getString("image12");

String datetime=budle.getString("datetime12");

Log.d(TAG, "得到的title------->"+title);

Log.d(TAG, "得到的image------->"+image);

Log.d(TAG, "得到的datetime------->"+datetime);

Map<String, Object> map = new HashMap<String, Object>();

map.put("title", title);

map.put("info", image);

map.put("img", R.drawable.i1);

list.add(map);

map = new HashMap<String, Object>();

map.put("title","title");

map.put("info", "title");

map.put("img", R.drawable.i2);

list.add(map);

map = new HashMap<String, Object>();

map.put("title", "title");

map.put("info", "title");

map.put("img", R.drawable.i3);

list.add(map);

return list;

}

// ListView 中某项被选中后的逻辑

@Override

protected void onListItemClick(ListView l, View v, int position, long id) {

Log.v("MyListView4-click", (String)mData.get(position).get("title"));

}

/**

* listview中点击按键弹出对话框

*/

public void showInfo(){

Intent intent = new Intent(this,MainActivity.class);

startActivity(intent);

}

public final class ViewHolder{

public ImageView img;

public TextView title;

public TextView info;

public RelativeLayout viewBtn;

}

public class MyAdapter extends BaseAdapter{

private LayoutInflater mInflater;

public MyAdapter(Context context){

this.mInflater = LayoutInflater.from(context);

}

@Override

public int getCount() {

// TODO Auto-generated method stub

return mData.size();

}

@Override

public Object getItem(int arg0) {

// TODO Auto-generated method stub

return null;

}

@Override

public long getItemId(int arg0) {

// TODO Auto-generated method stub

return 0;

}

@Override

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

ViewHolder holder = null;

if (convertView == null) {

holder=new ViewHolder();

convertView = mInflater.inflate(R.layout.activity_main, null);

holder.img = (ImageView)convertView.findViewById(R.id.img);

holder.title = (TextView)convertView.findViewById(R.id.title);

holder.info = (TextView)convertView.findViewById(R.id.littlemessage);

holder.viewBtn = (RelativeLayout)convertView.findViewById(R.id.relativelayout);

convertView.setTag(holder);

}else {

holder = (ViewHolder)convertView.getTag();

}

holder.img.setBackgroundResource((Integer)mData.get(position).get("img"));

holder.title.setText((String)mData.get(position).get("title"));

holder.info.setText((String)mData.get(position).get("info"));

holder.viewBtn.setOnClickListener(new View.OnClickListener() {//这里增加了点击进入另一个界面

@Override

public void onClick(View v) {

showInfo();

}

});

return convertView;

}

}

}

MainActivity:

package com.example.vlist;

import android.os.Bundle;

import android.app.Activity;

import android.util.Log;

import android.view.Menu;

public class MainActivity extends Activity {

private String TAG="MainActivity";

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

}

xml文件:

activity_main.xml:

<?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="vertical"

android:padding="6dp" >

<LinearLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_weight="29.70"

android:gravity="center_horizontal"

android:orientation="vertical" >

<TextView

android:id="@+id/tv_sendtime"

style="@style/chat_text_date_style"

android:layout_width="wrap_content"

android:layout_height="wrap_content" />

</LinearLayout>

<RelativeLayout

android:id="@+id/relativelayout"

android:layout_width="fill_parent"

android:layout_height="320dip"

android:layout_marginLeft="15dp"

android:layout_marginRight="15dip"

android:layout_marginTop="15dp"

android:layout_weight="12.80"

android:background="@drawable/beijing"

android:onClick="MessageView" >

<TextView

android:id="@+id/title"

style="@style/chat_content_date_style"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_alignParentLeft="true"

android:layout_alignParentTop="true"

android:layout_marginTop="16dp"

/>

<TextView

android:id="@+id/datetime"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_above="@+id/img"

android:text="time"

android:textColor="#ff000000"

android:textSize="15dip" />

<TextView

android:id="@+id/tv_time"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignBottom="@+id/datetime"

android:layout_alignRight="@+id/img"

android:layout_marginRight="14dp"

android:text="time"

android:textSize="20dip" />

<ImageView

android:id="@+id/img"

android:layout_width="150dip"

android:layout_height="150dip"

android:layout_centerHorizontal="true"

android:layout_centerVertical="true"

android:background="@drawable/i1"

android:clickable="true"

android:onClick="head_xiaohei" />

<TextView

android:id="@+id/littlemessage"

style="@style/chat_text_name_style"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_below="@+id/img"

android:layout_centerHorizontal="true"

android:layout_marginTop="14dp"

android:text="阅读全文" />

<Button

android:id="@+id/yueduquanwen"

android:layout_width="100dip"

android:layout_height="30dip"

android:layout_alignParentBottom="true"

android:layout_alignParentLeft="true"

android:background="#00000000"

android:text="阅读全文"

android:textSize="15dip"

android:textColor="#ff000000" />

</RelativeLayout>

</LinearLayout>

main.xml:

<?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:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="完成"

android:textSize="40dip"/>"

</LinearLayout>

这样就可以了,就可以实现从一个activity传递数据,并在另一个activity之中用 listview显示出来。

赞助本站

人工智能实验室

相关热词: listviewAdapter activity andro

AiLab云推荐
展开

热门栏目HotCates

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