初学安卓的第一个小程序

1.实现类  MyGoodsAdapter.java    包含监听方法,界面实现



import java.util.List;

import com.example.goodlist.activity.R;
import com.example.goodlist.entity.Good;

import android.content.Context;

import android.view.LayoutInflater;

import android.view.View;

import android.view.View.OnClickListener;

import android.view.ViewGroup;

import android.widget.BaseAdapter;

import android.widget.TextView;

import android.widget.Toast;

/*

 * 我的商品ListView的adapter。

 * */

public class MyGoodsAdapter extends BaseAdapter {

	private List<Good> goods;// ListView显示的数据

	private int resource;// 显示列表项的Layout

	private LayoutInflater inflater;// 界面生成器

	private Context context;

	public MyGoodsAdapter(List<Good> goods, int resource, Context context) {

		this.goods = goods;

		this.resource = resource;

		this.context = context;

		inflater = (LayoutInflater) context
				.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

	}

	@Override
	public int getCount() {

		return goods.size();

	}

	@Override
	public Object getItem(int arg0) {

		return goods.get(arg0);

	}

	@Override
	public long getItemId(int arg0) {

		return arg0;

	}

	@Override
	public View getView(int arg0, View arg1, ViewGroup arg2) {

		if (arg1 == null) {

			arg1 = inflater.inflate(resource, null);

		}

		final Good good = goods.get(arg0);

		TextView goodBarcode = (TextView) arg1.findViewById(R.id.goodBarcode);

		// 设置ListView中的Item中的TextView
		System.out.println("goodBarcode="+goodBarcode);
        System.out.println("good="+good);
		goodBarcode.setText(good.getGoodBarcode());

		// 为TextView设置监听器

		goodBarcode.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {

				Toast.makeText(context, good.getGoodBarcode(),
						Toast.LENGTH_LONG).show();

			}

		});

		TextView goodName = (TextView) arg1.findViewById(R.id.goodName);

		goodName.setText(good.getGoodName());

		goodName.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {

				Toast.makeText(context, good.getGoodName(), Toast.LENGTH_LONG)
						.show();

			}

		});

		TextView goodProvider = (TextView) arg1.findViewById(R.id.goodProvider);

		goodProvider.setText(good.getGoodProvider());

		goodProvider.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View arg0) {

				Toast.makeText(context, good.getGoodProvider(),
						Toast.LENGTH_LONG).show();

			}

		});

		return arg1;

	}
2.头文件MyGoodsActivity.java   其中包含方法的调用,界面内容


import java.util.ArrayList;

import java.util.HashMap;

import java.util.List;

import java.util.Map;

import com.example.goodlist.adapter.MyGoodsAdapter;
import com.example.goodlist.entity.Good;

import android.os.Bundle;

import android.app.Activity;

import android.content.Intent;

import android.view.Menu;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.AdapterView;

import android.widget.AdapterView.OnItemClickListener;

import android.widget.ListView;

import android.widget.TextView;

import android.widget.Toast;

public class MyGoodsActivity extends Activity {

	private ListView goodsinfoListView;

	@Override
	protected void onCreate(Bundle savedInstanceState) {

		super.onCreate(savedInstanceState);

		setContentView(R.layout.activity_my_goods_listview);

		// 获得ListView句柄

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

		final MyGoodsAdapter mgs = new MyGoodsAdapter(getListData(),
				R.layout.activity_my_goods_listview_item, this);

		goodsinfoListView.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,

			long arg3) {

				// int position =Integer.parseInt(arg1.getTag().toString());

				mgs.getView(arg2, arg1, goodsinfoListView);

			}

		});

		goodsinfoListView.setAdapter(mgs);

	}

	/* ListView数据 */

	private List<Good> getListData() {

		List<Good> list = new ArrayList<Good>();

		Good good = new Good("1111111", "果冻", "XXX区域代理商");

		list.add(good);

		Good good1 = new Good("2222222", "营养快线", "XXX区域代理商");

		list.add(good1);

		Good good2 = new Good("333333", "豆干", "XXX区域代理商");

		list.add(good2);

		return list;

	}

}
3.   good的总布局文件  其中包含ListView  一级标题TextView


<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ffffffff"
    android:gravity="center"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="5dip"
        android:layout_marginTop="93dip"
        android:orientation="horizontal"
        android:paddingLeft="15px" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingTop="10dip"
            android:text="商品条码"
            android:textColor="#000"
            android:textSize="16sp" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingTop="10dip"
            android:layout_marginLeft="40dp"
            android:text="商品名称"
            android:textColor="#000"
            android:textSize="16sp" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingTop="10dip"
            android:text="供应商"
            android:layout_marginLeft="40dp"
            android:textColor="#000"
            android:textSize="16sp" />
    </LinearLayout>

    <ScrollView
        android:id="@+id/feedbacklayout01"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_marginTop="103dip"
        android:paddingTop="20.0dip" >

        <LinearLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical"
            android:paddingLeft="20px" >

            <ListView
                android:id="@+id/goodsinfoListView"
                android:layout_width="wrap_content"
                android:layout_height="354dp"
                android:layout_marginBottom="5.0dip"
                android:layout_marginRight="5.0dip"
                android:textColor="#000"
                android:textSize="16.0dip" >
            </ListView>
        </LinearLayout>
    </ScrollView>

</RelativeLayout>

4.good的子布局文件  , 其中包含good的每一个实例的实现TextView


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/goodBarcode"
        android:layout_width="150dip"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:paddingTop="10dip"
        android:textColor="#000"
        android:textSize="16sp" />

    <TextView
        android:id="@+id/goodName"
        android:layout_width="150dip"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:paddingTop="10dip"
        android:textColor="#000"
        android:textSize="16sp" />

    <TextView
        android:id="@+id/goodProvider"
        android:layout_width="150dip"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:paddingTop="10dip"
        android:textColor="#000"
        android:textSize="16sp" />

</LinearLayout>
  

程序的主要代码已基本写出,第一次看这么多的代码确实有点烦,粗略一看什么也看不懂,但自己慢慢仔细一看换是可以看懂一些,但要是自己写是绝对写不出来的。

但想要写好程序,首先要学会看程序。杠杆开始学习Android确实觉得很难,但经过一段时间的学习觉得也没那么难主要是理解,大部分代码的流程都是非常详细,只是调用的方法不懂。知道每一步干什么,需要什么,接下来就是方法的使用和调用了。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值