注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

尐鬼じ☆ve伱

和你在一起的日子

 
 
 

日志

 
 

Android Listview (转)  

2013-01-18 17:09:04|  分类: Android |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
http://www.devdiv.com/Android-%E6%BC%82%E4%BA%AE%E7%9A%84Listview%E5%AE%8C%E6%95%B4%E7%89%88%E6%9C%AC-thread-68741-1-3.html

代码:

vlist.xml
<?xml version="1.0" encoding="utf-8"?>
<TableLayout android:id="@+id/tableLayout1"
                android:layout_width="fill_parent" android:layout_height="fill_parent"
                xmlns:android="http://schemas.android.com/apk/res/android">
                <TableRow android:layout_width="fill_parent"
                        android:layout_height="wrap_content" android:id="@+id/listview">
                        <TextView android:layout_width="80dip" android:gravity="center"
                                android:layout_height="wrap_content" android:textColor="#42AF40"
                                android:drawableRight="@drawable/line_y" android:id="@+id/imageid_textview"></TextView>
                        <TextView android:layout_width="100dip"
                                android:layout_height="wrap_content" android:textColor="#42AF40"
                                android:drawableRight="@drawable/line_y" android:gravity="center"
                                android:id="@+id/taskid_textview"></TextView>
                        <TextView android:layout_width="100dip" android:gravity="center"
                                android:layout_height="wrap_content" android:textColor="#42AF40"
                                android:drawableRight="@drawable/line_y" android:id="@+id/machineid_textview"></TextView>
                        <TextView android:layout_width="140dip" android:gravity="center"
                                android:layout_height="wrap_content" android:textColor="#42AF40"
                                android:drawableRight="@drawable/line_y" android:id="@+id/position"></TextView>
                        <TextView android:layout_width="120dip" android:gravity="center"
                                android:layout_height="wrap_content" android:textColor="#42AF40"
                                android:drawableRight="@drawable/line_y" android:id="@+id/taskstatus"></TextView>
                        <TextView android:layout_width="80dip" android:gravity="center"
                                android:layout_height="wrap_content" android:textColor="#42AF40"
                                android:drawableRight="@drawable/line_y" android:id="@+id/a07_ls_button"></TextView>

                        <CheckBox android:textColor="#42AF40" android:layout_width="80dip"
                                android:gravity="center" android:layout_height="wrap_content"
                                android:drawableRight="@drawable/line_y" android:id="@+id/a07_ls_checkbox"></CheckBox>
                </TableRow>
        </TableLayout>
//////
taskoklayout.xml
<LinearLayout android:id="@+id/relativeLayout1"
        android:layout_width="fill_parent" android:layout_height="fill_parent"
        android:orientation="vertical" xmlns:android="http://schemas.android.com/apk/res/android">
        <HorizontalScrollView
        android:id="@+id/HorizontalScrollView01"
        android:layout_height="400px"
        android:layout_width="fill_parent"
        android:layout_weight = "1"
        >
                <LinearLayout android:layout_width="fill_parent"
                        android:layout_height="fill_parent" android:layout_weight="1">
                        <!-- 数据表格 -->
                        <ListView android:layout_width="fill_parent"
                                android:layout_height="wrap_content" android:id="@+id/taskok_listView"
                                android:scrollbars="vertical">
                        </ListView>
                </LinearLayout>
        </HorizontalScrollView>
        <LinearLayout android:layout_width="fill_parent"
                android:layout_height="fill_parent" android:layout_weight="4"
                android:orientation="horizontal" xmlns:android="http://schemas.android.com/apk/res/android">
                <Button android:layout_width="wrap_content"
                        android:layout_height="wrap_content" android:text="@string/taskok_button"
                        android:id="@+id/taskok_button">
                </Button>

                <Button android:layout_width="wrap_content"
                        android:layout_height="wrap_content" android:text="@string/sendback_button"
                        android:id="@+id/sendback_button">
                </Button>

                <Button android:id="@+id/invalidate_button"
                        android:layout_width="wrap_content" android:layout_height="wrap_content"
                        android:text="@string/invalidate_button"></Button>
        </LinearLayout>

        <LinearLayout android:layout_height="fill_parent"
                android:layout_width="fill_parent" android:layout_weight="4"
                android:orientation="horizontal" xmlns:android="http://schemas.android.com/apk/res/android">
                <Button android:id="@+id/back_button" android:layout_width="wrap_content"
                        android:layout_height="wrap_content" android:text="@string/back_button"></Button>

                <Button android:id="@+id/daohang_button" android:layout_width="wrap_content"
                        android:layout_height="wrap_content" android:text="@string/daohang_button"></Button>
        </LinearLayout>
</LinearLayout>

activity
package Android.GPSTest;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import Android.GlobalFunc.GlobalFunc;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.HorizontalScrollView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast;

public class TaskCheckOk_Activity extends Activity {

        private ListView list = null;
        private Button taskok_button = null;
        private Button sendback_button = null;
        private Button invalidate_button = null;
        private Button back_button = null;
        private Button daohang_button = null;
        private int list_index = -1;
        private ListView lv;
        public LinearLayout myRelative;
        String taskid[] = { "TaskNo.1", "TaskNo.2", "TaskNo.3", "TaskNo.4",
                        "TaskNo.5", "TaskNo.6", "TaskNo.7", "TaskNo.8", "TaskNo.9",
                        "TaskNo.10" };
        String machineid[] = { "MachineNo.1", "MachineNo.1", "MachineNo.1",
                        "MachineNo.1", "MachineNo.1", "MachineNo.1", "MachineNo.1",
                        "MachineNo.1", "MachineNo.1", "MachineNo.1" };
        String position[] = { "sjz", "sjz", "sjz", "sjz", "sjz", "sjz", "sjz",
                        "sjz", "sjz", "sjz" };
        String imageid[] = { "10123", "10124", "10125", "10126", "10127", "10123",
                        "10124", "10125", "10126", "10127" };
        String taskstatus[] = { "已完成", "已完成", "已完成", "已完成", "已完成", "已完成", "已完成",
                        "已完成", "已完成", "已完成" };

        @Override
        protected void onCreate(Bundle savedInstanceState) {
                // TODO Auto-generated method stub
                super.onCreate(savedInstanceState);
                setContentView(R.layout.taskoklayout);

                ArrayList<HashMap<String, String>> mylist = new ArrayList<HashMap<String, String>>();
                for (int i = 0; i < taskid.length; i++) {
                        HashMap<String, String> map1 = new HashMap<String, String>();
                        map1.put("imageid", imageid);
                        map1.put("taskid", taskid);
                        map1.put("machineid", machineid);
                        map1.put("position", position);
                        map1.put("taskstatus", taskstatus);
                        map1.put("daohang", "导航");
                        mylist.add(map1);
                }

                SpecialAdapter adapter = new SpecialAdapter(this, mylist,
                                R.layout.vlist, new String[] { "imageid", "taskid", "machineid",
                                                "position", "taskstatus", "daohang" }, new int[] {
                                                R.id.imageid_textview, R.id.taskid_textview,
                                                R.id.machineid_textview, R.id.position,
                                                R.id.taskstatus, R.id.a07_ls_button });

                TextView t1 = new TextView(this);
                t1.setGravity(Gravity.CENTER);
                t1.setText("图片");
                t1.setBackgroundResource(R.drawable.bk);

                TextView t2 = new TextView(this);
                t2.setGravity(Gravity.CENTER);
                t2.setText("任务编号");
                t2.setBackgroundResource(R.drawable.bk);

                TextView t3 = new TextView(this);
                t3.setText("机械编号");
                t3.setGravity(Gravity.CENTER);
                t3.setBackgroundResource(R.drawable.bk);

                TextView t4 = new TextView(this);
                t4.setText("当前位置");
                t4.setGravity(Gravity.CENTER);
                t4.setBackgroundResource(R.drawable.bk);

                TextView t5 = new TextView(this);
                t5.setText("任务状态");
                t5.setGravity(Gravity.CENTER);
                t5.setBackgroundResource(R.drawable.bk);

                TextView t6 = new TextView(this);
                t6.setText("开始导航");
                t6.setGravity(Gravity.CENTER);
                t6.setBackgroundResource(R.drawable.bk);

                TextView t7 = new TextView(this);
                t7.setText("是否选择");
                t7.setGravity(Gravity.CENTER);
                t7.setBackgroundResource(R.drawable.bk);

                LinearLayout linear = new LinearLayout(this);
                linear.setBackgroundResource(R.drawable.bg_comment_grey);
                linear.addView(t1, 80, 45);
                linear.addView(t2, 100, 45);
                linear.addView(t3, 100, 45);
                linear.addView(t4, 140, 45);
                linear.addView(t5, 120, 45);
                linear.addView(t6, 80, 45);
                linear.addView(t7, 80, 45);

                lv = (ListView) findViewById(R.id.taskok_listView);//new ListView(this);
                lv.setHorizontalScrollBarEnabled(true);
                lv.setSelector(R.drawable.brick);
                lv.addHeaderView(linear);// 设置listHeader 始终位于列表顶部
                lv.setAdapter(adapter);
                //lv.setHorizontalScrollBarEnabled(horizontalScrollBarEnabled)

                //HorizontalScrollView hsv = (HorizontalScrollView) findViewById(R.id.HorizontalScrollView01);//new HorizontalScrollView(this);
                //System.out.println("" + hsv);
                
                //setContentView(hsv);
                
//      lv = (ListView)findViewById(R.layout.main);
//      lv.setHorizontalScrollBarEnabled(true);
//      lv.setSelector(R.drawable.bg_setting_tablerow);
//      lv.setAdapter(adapter);
//      setContentView(lv);

                initRes();

        }

        public void onBackPressed() {
                // TODO Auto-generated method stub
                System.out.println("按下返回键");
                return;
        }

        boolean initRes() {
                taskok_button = (Button) findViewById(R.id.taskok_button);
                sendback_button = (Button) findViewById(R.id.sendback_button);
                invalidate_button = (Button) findViewById(R.id.invalidate_button);
                daohang_button = (Button) findViewById(R.id.daohang_button);
                back_button = (Button) findViewById(R.id.back_button);

                setClickListener();
                return true;
        }


        // 根据参数flag决定去得第X列的内容,每行的内容用*号隔开
        String GetSelectItemData(int flag) {
                String return_str = null;
                for (int i = 0; i < list.getCount(); i++) {
                        if (MyAdapter.isSelected.get(i)) {
                                // TaskCheckViewHolder vHollder = (TaskCheckViewHolder)
                                // list.getChildAt(flag).getTag();
                                // return_str += vHollder.taskid_textview.getText().toString();
                                // return_str += "*";

                                // MyAdapter.
                        }
                }

                return GlobalFunc.StrToHex(return_str);
        }

        boolean setClickListener() {
                taskok_button.setOnClickListener(new myButtonListener());
                sendback_button.setOnClickListener(new myButtonListener());
                invalidate_button.setOnClickListener(new myButtonListener());
                daohang_button.setOnClickListener(new myButtonListener());
                back_button.setOnClickListener(new myButtonListener());
                return true;
        }

        class myButtonListener implements OnClickListener {

                @Override
                public void onClick(View v) {
                        // TODO Auto-generated method stub
                        Intent intent = new Intent();
                        if (v.getId() == R.id.taskok_button) {
                                GlobalFunc.ShowProgressDlg();
                                // GetSelectItemData(1);
                        } else if (v.getId() == R.id.sendback_button) {

                        } else if (v.getId() == R.id.daohang_button) {

                        } else if (v.getId() == R.id.back_button) {
                                intent.setClass(TaskCheckOk_Activity.this,
                                                AppMenu_Activity.class);
                                TaskCheckOk_Activity.this.startActivity(intent);
                        } else if (v.getId() == R.id.invalidate_button) {

                        }
                }
        }
}

class SpecialAdapter extends SimpleAdapter {
        private LayoutInflater mInflater;
        private listviewHolder holder;
        private int[] colors = new int[] { 0x30FF0000, 0x300000FF };

        public SpecialAdapter(Context context, List<? extends Map<String, ?>> data,
                        int resource, String[] from, int[] to) {
                super(context, data, resource, from, to);
                mInflater = LayoutInflater.from(context);
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
                View view = super.getView(position, convertView, parent);
                final int temp_position = position;
                int colorPos = position % colors.length;
                if (colorPos == 1) {
                        view.setBackgroundColor(Color.argb(250, 255, 255, 255));
                } else {
                        view.setBackgroundColor(Color.argb(250, 224, 243, 250));
                }
                holder = new listviewHolder();// (listviewHolder)view.getTag();
                //System.out.println("" + holder);
                holder.machineid_textview = (TextView) view
                                .findViewById(R.id.machineid_textview);
                holder.machineid_textview.setOnClickListener(new OnClickListener() {

                        @Override
                        public void onClick(View v) {
                                // TODO Auto-generated method stub
                                System.out.println("机械编号--执行了点击事件,点击的行数为:" + temp_position);

                        }
                });
                holder.taskid_textview = (TextView) view
                                .findViewById(R.id.taskid_textview);
                holder.taskid_textview.setOnClickListener(new OnClickListener() {

                        @Override
                        public void onClick(View v) {
                                // TODO Auto-generated method stub
                                System.out.println("任务编号--执行了点击事件,点击的行数为:" + temp_position);
                        }
                });
                holder.daohang_button = (TextView) view
                                .findViewById(R.id.a07_ls_button);
                holder.daohang_button.setOnClickListener(new OnClickListener() {

                        @Override
                        public void onClick(View v) {
                                // TODO Auto-generated method stub
                                System.out.println("导航--执行了点击事件,点击的行数为:" + temp_position);
                        }
                });

                holder.cbox = (CheckBox)view.findViewById(R.id.a07_ls_checkbox);
                holder.cbox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
                        
                        @Override
                        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                                // TODO Auto-generated method stub
                                if(isChecked)
                                {
                                        System.out.println("复选框以选中,选中的行数为:" + temp_position);
                                }
                        }
                });
                return view;
        }

        class listviewHolder {
                public TextView taskid_textview;
                public TextView machineid_textview;
                public TextView position;
                public TextView taskStatus;
                public TextView daohang_button;
                public CheckBox cbox;
        }
}

效果.jpg
  评论这张
 
阅读(171)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017