热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

如何在Android的ListView中获取所有TextView值?

如何解决《如何在Android的ListView中获取所有TextView值?》经验,为你挑选了1个好方法。

我试图在列表视图中获取所有TextView值。

我有一个ListView,没有N个列表项。

所有列表项都有增加和减少按钮。

如果单击增加按钮,则总数(TextView)值将增加。如果我单击减少按钮,总数(TextView)将减少。

现在,我想从列表中获取所有总计数值。

这是我的代码:

holder.button.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {

                    View parentView = (View) v.getParent();

                    String getString = ((TextView) parentView.findViewById(R.id.counter)).getText().toString();

                    String totalAmtString = ((TextView) parentView
                            .findViewById(R.id.text1)).getText().toString();

                    int totAmount = Integer.parseInt(totalAmtString);

                    count = Integer.parseInt(getString);
                    count++;
                    tot_amt = totAmount * count;

                    countString = String.valueOf(count);

                    String TotAmt = String.valueOf(tot_amt);

                    ((TextView) parentView.findViewById(R.id.counter))
                            .setText(countString);

                    ((TextView) parentView.findViewById(R.id.totalPrice)).setText(TotAmt);

                    for(int i=0;i>data.size();i++){
                        // Here I want to get the all TotAmt every time i click Increase button.
                    }

                }

            });

请让我有任何想法在列表视图中获取所有TextView值。

随函附上我的完整代码:

public class ListViewExample extends Activity {
    ListView list;
    CustomAdapter adapter;
    public ListViewExample CustomListView = null;
    public ArrayList CustomListViewValuesArr = new ArrayList();
    New_SQLController sqlcon;

    static TextView totalAmout;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.database_list);

        sqlcon = new New_SQLController(this);
        InsertToDB();
        BuildTable();
        CustomListView = this;


        Resources res = getResources();

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

        totalAmout=(TextView)findViewById(R.id.textView1);

        adapter = new CustomAdapter(CustomListView, CustomListViewValuesArr,
                res);

        list.setAdapter(adapter);

    }

    private void InsertToDB(){
        sqlcon.open();
        sqlcon.insertToProductTable("IMAGE","Idly","20","2","MorAndEve");
        sqlcon.insertToProductTable("IMAGE","Doasi","40","1","MorAndEve");
        sqlcon.insertToProductTable("IMAGE","Poori","30","1","Mor");
        sqlcon.close();
    }

    private void BuildTable() {

        sqlcon.open();
        Cursor c = sqlcon.readEntry();

        int rows = c.getCount();
        int cols = c.getColumnCount();

        c.moveToFirst();


        for (int i = 0; i 

我的适配器类

public class CustomAdapter extends BaseAdapter implements OnClickListener {

    private Activity activity;
    private ArrayList data;
    private static LayoutInflater inflater = null;
    public Resources res;
    ListModel tempValues = null;
    ListModel tempValuesNew = null;

    int i = 0;
    static int count = 0;
    static int tot_amt = 0;
    String countString = "0";
    ImageButton btn;
    ViewHolder holder;

    static int OverAllTotal = 0;
    String overAllString = "0";

    int pos;

    public CustomAdapter(Activity a, ArrayList d, Resources resLocal) {

        activity = a;
        data = d;
        res = resLocal;
        inflater = (LayoutInflater) activity
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

    }

    public int getCount() {

        if (data.size() <= 0)
            return 1;
        return data.size();
    }

    public Object getItem(int position) {
        return position;
    }

    public long getItemId(int position) {
        return position;
    }

    public static class ViewHolder {

        public TextView text;
        public TextView text1;
        public TextView textWide;
        public TextView tvCounter;

        public ImageView image;
        ImageButton button;
        ImageButton decreesButton2;

    }

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

        View vi = convertView;
        pos = position;
        if (cOnvertView== null) {

            vi = inflater.inflate(R.layout.tabitem, null);
            btn = (ImageButton) vi.findViewById(R.id.button1);

            holder = new ViewHolder();
            holder.text = (TextView) vi.findViewById(R.id.text);
            holder.text1 = (TextView) vi.findViewById(R.id.text1);
            holder.image = (ImageView) vi.findViewById(R.id.list_image);
            holder.tvCounter = (TextView) vi.findViewById(R.id.counter);
            holder.button = (ImageButton) vi.findViewById(R.id.button1);
            holder.decreesButton2 = (ImageButton) vi.findViewById(R.id.button2);

            vi.setTag(holder);
        } else
            holder = (ViewHolder) vi.getTag();

        if (data.size() <= 0) {
            holder.text.setText("No Data");

        } else {

            tempValues = null;
            tempValues = (ListModel) data.get(position);


            holder.text.setText(tempValues.getProductName());
            holder.text1.setText(tempValues.getPrice());
            holder.image.setImageResource(res.getIdentifier(
                    "com.list.listviewexample:drawable/"
                            + tempValues.getImage(), null, null));


            vi.setOnClickListener(new OnItemClickListener(position));

            holder.button.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {

                    View parentView = (View) v.getParent();

                    String getString = ((TextView) parentView.findViewById(R.id.counter)).getText().toString();

                    String totalAmtString = ((TextView) parentView
                            .findViewById(R.id.text1)).getText().toString();

                    int totAmount = Integer.parseInt(totalAmtString);

                    count = Integer.parseInt(getString);
                    count++;
                    tot_amt = totAmount * count;

                    countString = String.valueOf(count);

                    String TotAmt = String.valueOf(tot_amt);

                    ((TextView) parentView.findViewById(R.id.counter))
                            .setText(countString);

                    ((TextView) parentView.findViewById(R.id.totalPrice)).setText(TotAmt);

                    int TempTotAmt = totAmount * count;
                     OverAllTotal = OverAllTotal + tot_amt;

                    overAllString = String.valueOf(OverAllTotal);
                    ListViewExample.setTotalAmount(overAllString);

                    for(int i=0;i>data.size();i++){

                    }

                }

            });

            holder.decreesButton2.setOnClickListener(new OnClickListener() {
                @Override
                public void onClick(View v) {

                    View parentView = (View) v.getParent();
                    String getString = ((TextView) parentView
                            .findViewById(R.id.counter)).getText().toString();

                    String totalAmtString = ((TextView) parentView
                            .findViewById(R.id.text1)).getText().toString();

                    int totAmount = Integer.parseInt(totalAmtString);

                    count = Integer.parseInt(getString);
                    if (count > 0)
                        count--;
                    countString = String.valueOf(count);
                    tot_amt = totAmount * count;

                    String TotAmt = String.valueOf(tot_amt);

                    ((TextView) parentView.findViewById(R.id.totalPrice))
                            .setText(TotAmt);
                    ((TextView) parentView.findViewById(R.id.counter))
                            .setText(countString);
                }

            });
        }
        return vi;
    }

    @Override
    public void onClick(View v) {

    }

    private class OnItemClickListener implements OnClickListener {
        private int mPosition;

        OnItemClickListener(int position) {
            mPosition = position;
        }

        @Override
        public void onClick(View arg0) {

            ListViewExample sct = (ListViewExample) activity;
            sct.onItemClick(mPosition);
        }
    }
}`



1> New Develope..:

所以,最终我找到了解决方案:

在我的ListViewExample课堂上,我添加了以下方法。

public void getAllValues() {
        View parentView = null;
        int temp = 0;
        int getTotal = 0;
        int totQuan = 0;
        int quan = 0;
        for (int i = 0; i  lastListItemPosition) {
            return listView.getAdapter().getView(pos, null, listView);
        } else {
            final int childIndex = pos - firstListItemPosition;
            return listView.getChildAt(childIndex);
        }
    }


推荐阅读
  • 在Android中实现黑客帝国风格的数字雨效果
    本文将详细介绍如何在Android平台上利用自定义View实现类似《黑客帝国》中的数字雨效果。通过实例代码,我们将探讨如何设置文字颜色、大小,以及如何控制数字下落的速度和间隔。 ... [详细]
  • Android 中的布局方式之线性布局
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 尽管在WPF中工作了一段时间,但在菜单控件的样式设置上遇到了一些基础问题,特别是关于如何正确配置前景色和背景色。 ... [详细]
  • td{border:1pxsolid#808080;}参考:和FMX相关的类(表)TFmxObjectIFreeNotification ... [详细]
  • 本文介绍了如何使用 Python 的 Pyglet 库加载并显示图像。Pyglet 是一个用于开发图形用户界面应用的强大工具,特别适用于游戏和多媒体项目。 ... [详细]
  • Gradle 是 Android Studio 中默认的构建工具,了解其基本配置对于开发效率的提升至关重要。本文将详细介绍如何在 Gradle 中定义和使用共享变量,以确保项目的一致性和可维护性。 ... [详细]
  • 本文详细介绍如何在SSM(Spring + Spring MVC + MyBatis)框架中实现分页功能。包括分页的基本概念、数据准备、前端分页栏的设计与实现、后端分页逻辑的编写以及最终的测试步骤。 ... [详细]
  • 【MySQL】frm文件解析
    官网说明:http:dev.mysql.comdocinternalsenfrm-file-format.htmlfrm是MySQL表结构定义文件,通常frm文件是不会损坏的,但是如果 ... [详细]
  • 数据输入验证与控件绑定方法
    本文提供了多种数据输入验证函数及控件绑定方法的实现代码,包括电话号码、数字、传真、邮政编码、电子邮件和网址的验证,以及报表绑定和自动编号等功能。 ... [详细]
  • 深入解析Unity3D游戏开发中的音频播放技术
    在游戏开发中,音频播放是提升玩家沉浸感的关键因素之一。本文将探讨如何在Unity3D中高效地管理和播放不同类型的游戏音频,包括背景音乐和效果音效,并介绍实现这些功能的具体步骤。 ... [详细]
  • 基于SSM框架的在线考试系统:随机组卷功能详解
    本文深入探讨了基于SSM(Spring, Spring MVC, MyBatis)框架构建的在线考试系统中,随机组卷功能的设计与实现方法。 ... [详细]
  • ASP.NET 进度条实现详解
    本文介绍了如何在ASP.NET中使用HTML和JavaScript创建一个动态更新的进度条,并通过Default.aspx页面进行展示。 ... [详细]
  • 网络流24题——试题库问题
    题目描述:假设一个试题库中有n道试题。每道试题都标明了所属类别。同一道题可能有多个类别属性。现要从题库中抽取m道题组成试卷。并要求试卷包含指定类型的试题。试设计一个满足要求的组卷算 ... [详细]
  • Zabbix自定义监控与邮件告警配置实践
    本文详细介绍了如何在Zabbix中添加自定义监控项目,配置邮件告警功能,并解决测试告警时遇到的邮件不发送问题。 ... [详细]
  • 本文探讨了如何在PHP与MySQL环境中实现高效的分页查询,包括基本的分页实现、性能优化技巧以及高级的分页策略。 ... [详细]
author-avatar
PHP_sunshine
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有