//主页面布局 activity_main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@@商城"
android:textSize="48px"
android:textColor="#f00"
android:gravity="center"
android:background="#A9A9A9"
android:id="@+id/tv1"
/>
<TextView
android:id="@+id/tv2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="您当前选择的商品是:"
android:textSize="30px"
android:layout_below="@+id/tv1"
android:layout_marginTop="200px"
android:layout_marginLeft="70px"
/>
<TextView
android:id="@+id/proName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="无"
android:textSize="30px"
android:textColor="#f00"
android:layout_below="@+id/tv2"
android:layout_marginTop="75px"
android:layout_marginLeft="130px"
/>
<TextView
android:id="@+id/tv3"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="价格是:"
android:textSize="30px"
android:layout_below="@+id/proName"
android:layout_marginTop="130px"
android:layout_marginLeft="70px"
/>
<TextView
android:id="@+id/proPrice"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="0元"
android:textSize="30px"
android:textColor="#f00"
android:layout_below="@+id/proName"
android:layout_marginTop="250px"
android:layout_marginLeft="130px"
/>
<Button
android:layout_marginTop="100px"
android:layout_marginLeft="250px"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="打开商品列表"
android:id="@+id/show"
></Button>
</RelativeLayout>
//ListView 布局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".ShowActivity" >
<ListView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/lv"
android:divider="#f00"
android:dividerHeight="1px"
></ListView>
</RelativeLayout>
//ListView 子布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<ImageView
android:layout_width="100px"
android:layout_height="100px"
android:id="@+id/img"
/>
<TextView
android:layout_width="100px"
android:layout_height="100px"
android:layout_toRightOf="@+id/img"
android:layout_margin="10px"
android:id="@+id/name"
/>
<TextView
android:layout_width="100px"
android:layout_height="100px"
android:layout_below="@+id/name"
android:layout_margin="10px"
android:id="@+id/price"
/>
</RelativeLayout>
//主页面后台
package com.example.lx00322;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends Activity {
private Button show; //找到id为show的按钮组件
private TextView proName,proPrice;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//得到id为show的组件
show = (Button) findViewById(R.id.show);
proName = (TextView) findViewById(R.id.proName);
proPrice = (TextView) findViewById(R.id.proPrice);
//给show添加一个单击事件
show.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
//创建一个意图
Intent intent = new Intent(MainActivity.this,ShowActivity.class);
startActivityForResult(intent, 1);
}
});
}
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
// TODO Auto-generated method stub
super.onActivityResult(requestCode, resultCode, data);
if(requestCode == 1 && resultCode == 1){
String name = data.getStringExtra("name");
String price= data.getStringExtra("price");
proName.setText(name);
proPrice.setText(price);
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_main, menu);
return true;
}
}
//ListView 后台
package com.example.lx00322;
import java.util.ArrayList;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import com.bwie.beans.Pro;
public class ShowActivity extends Activity {
//定义一个ListView组件
private ListView lv;
//定义数据源
private int[] imgs = {R.drawable.tu1,R.drawable.tu2,R.drawable.tu3,R.drawable.tu4,R.drawable.tu5,R.drawable.tu6};
private String[] names = {"手机","手表","电视机","电脑","椅子","滕子"};
private int[] prices = {4999,500,3999,8522,66,70};
private ArrayList<Pro> Prolist;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show);
//找到id为lv的组件
lv = (ListView) findViewById(R.id.lv);
Prolist = new ArrayList<Pro>(); //创建一个集合的实例
for(int i = 0;i<imgs.length;i++){ //循环这放入集合中
Pro pro = new Pro(imgs[i], names[i], prices[i]);
//把对象放入集合中
Prolist.add(pro);
}
lv.setAdapter(new BaseAdapter() {
ViewHolder viewHolder = null;
@Override
public View getView(int position, View conTextView, ViewGroup arg2) {
// TODO Auto-generated method stub
if(conTextView == null){
viewHolder = new ViewHolder();
conTextView = View.inflate(ShowActivity.this, R.layout.listitem_layout, null);
viewHolder.img = (ImageView) conTextView.findViewById(R.id.img);
viewHolder.name = (TextView) conTextView.findViewById(R.id.name);
viewHolder.price = (TextView) conTextView.findViewById(R.id.price);
conTextView.setTag(viewHolder);
}else{
viewHolder = (ViewHolder) conTextView.getTag();
}
Pro pro1 = Prolist.get(position);
viewHolder.img.setImageResource(pro1.getImg());
viewHolder.name.setText(pro1.getName());
viewHolder.price.setText(pro1.getPrice()+"");
return conTextView;
}
@Override
public long getItemId(int arg0) {
// TODO Auto-generated method stub
return 0;
}
@Override
public Object getItem(int arg0) {
// TODO Auto-generated method stub
return null;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return Prolist.size();
}
class ViewHolder{
ImageView img;
TextView name,price;
}
});
lv.setOnItemClickListener(new OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int arg2, long arg3) {
// TODO Auto-generated method stub
final Pro pro = Prolist.get(arg2);
AlertDialog alert = new AlertDialog.Builder(ShowActivity.this) //创建一个AlertDialog 对话框
.setTitle("购买商品") //对话框的标题
.setMessage("是否确定购买"+pro.getName()+"价格"+pro.getPrice()+"元") //对话框的内容
.setPositiveButton("确定", new DialogInterface.OnClickListener() { //当我点击确定以后要干什么事情
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
Intent it = getIntent(); //创建一个意图
it.putExtra("name", pro.getName()); //把要放如的数据 放入意图中
it.putExtra("price",pro.getPrice()+"元");
setResult(1,it); //返回到请求的页面
finish(); //关闭(杀死)当前页面
}
})
.setNegativeButton("取消", null)
.create(); //启动AlertDialog 对话框
alert.show(); //让对话框显示
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.activity_show, menu);
return true;
}
}