当前位置: 首页 > 知识库问答 >
问题:

Xamarin android通过webservice将数据从列表视图保存到数据库

庄文栋
2023-03-14

当我尝试保存最后一个项目时,我在列表视图中的每个项目都有按钮没有问题,但是当我尝试保存另一个项目时,它会多次保存数据

这是我的代码

公共覆盖视图GetView(int位置、视图转换视图、ViewGroup父级)

    {

        var item = trans[position];

        View view = convertView;

        if (view == null) // no view to re-use, create new

            view = context.LayoutInflater.Inflate(Resource.Layout.trans_layout, null);

   view.FindViewById<TextView>(Resource.Id.supply_amount_txt).Text = item.amount1;
        view.FindViewById<TextView>(Resource.Id.demand_amount_txt).Text = item.amount2;
        //view.FindViewById<TextView>(Resource.Id.Text3).Text = item.client_code;
        view.FindViewById<TextView>(Resource.Id.supply_cur_txt).Text = item.cur1;
        view.FindViewById<TextView>(Resource.Id.demadn_cur_txt).Text = item.cur2;
        view.FindViewById<TextView>(Resource.Id.rate_txt).Text = item.rate;
        view.FindViewById<TextView>(Resource.Id.ID_txt).Text = item.tran_id;
        view.FindViewById<TextView>(Resource.Id.user_name_txt).Text = item.username;
        view.FindViewById<TextView>(Resource.Id.tran_date_time_txt).Text = item.tran_date ;
        accept_btn = view.FindViewById<Button>(Resource.Id.btn);        
        amo2 = Convert.ToDecimal(item.amount2);
        cu2 = item.cur2;
        amo1 = Convert.ToDecimal(item.amount1);
        cu1 = item.cur1;
        rat = Convert.ToDecimal(item.rate);
        tr_id = Convert.ToInt32(item.tran_id);
        cl_code = item.client_code;
           accept_btn.Click +=delegate {
               myWS.ChekTranIDAsync(Convert.ToInt32(item.tran_id));
               XTran = Convert.ToInt32(Convert.ToInt32(item.tran_id));
               myWS.ChekTranIDCompleted += MyWS_ChekTranIDCompleted;

           };
 


        return view;
      
    }


private void MyWS_ChekTranIDCompleted(object sender, myWS.ChekTranIDCompletedEventArgs e)
    {
        //myWS.accept_tranAsync("123", Convert.ToDecimal(item.amount2), item.cur2, Convert.ToDecimal(item.amount1), item.cur1, Convert.ToDecimal(item.rate), "ابو ليلى", Convert.ToInt32(item.tran_id), item.client_code);
        myWS.accept_tranAsync("123", amo2, cu2, amo1, cu2, rat, "xxx", XTran, cl_code);
        myWS.accept_tranCompleted += MyWS_accept_tranCompleted;


    }

共有1个答案

牛兴安
2023-03-14
accept_btn.Click +=delegate

当项目被回收以进行视觉显示并且GetView为同一视图持有人运行多次时,此代码会执行多次。所以你需要先取消订阅。

 类似资料:
  • 同样地,为需要存储数据的每个JPA实体创建单独的存储库类是否理想?或者有什么更好的方法可以在有限的存储库类的情况下将数据存储到数据库?

  • 我正在建立一个评估工具。其逻辑是: > 在每个问题中,一旦我点击‘上传/查看文件',它会弹出一个模式;

  • 我目前正在尝试跟踪一个人的动作,并将其保存到数据库中。 在我的网页上有一个画布,它允许用户使用鼠标进行绘画。我希望能够保存用户在绘画时所做的动作,以便我能够重新跟踪绘画时所做的每一个动作。 我自己的想法是,每当用户在画布中单击鼠标时,坐标将被保存,直到用户释放鼠标按钮。另一个解决方案是,在画布上每点击3-4次,就保存一张画布的图像,这样你就可以看到绘制过程。 有没有人有更好的解决方案,或者关于如何

  • 问题内容: 每次访问数据库记录时,什么是最合适的和最有效的存储视图计数的方法? 我有包含以下字段的表: 每个项目都有自己的永久链接:http : //domain.com/item_name 我希望能够使用此数据并在页面上显示一个。哪种方法最好? 方法一 在表中创建一个附加字段,并对其进行更新以增加视图计数: 方法B 创建一个包含以下字段的新表: 并在每次查看页面时将新记录添加到表中。 方法C 完

  • main.java Controller/Controller.java 模型/ConnectDB.java 查看/fxmlSample.fxml 错误: 错误:(64,9)Java:类Sample.Controller.Controller中的method initData无法应用于给定类型;必需:javafx.event.actionevent找到:没有参数原因:实际和正式参数列表的长度不同

  • 我正在研究一个函数,它使用递归调用将给定的输入分解为面值。 在每个步骤中,它都会递归为两个变量: 继续当前的硬币:将其添加到列表中并递归。 切换到下一个硬币:递增硬币pos和递归。 除了在剩余=0时打印列表中捕获的面额组合之外,我还打算捕获该列表的值并从函数返回它。 这是代码: 输出:[5,5,3]