Android 动态充气视图以确定位置

Android 动态充气视图以确定位置,android,arraylist,view,android-edittext,android-linearlayout,Android,Arraylist,View,Android Edittext,Android Linearlayout,我动态创建了一个LinearLayout,其中包含一个EditText和一个Add按钮 根据Web服务的不同,LinearLayout可能有2、3等按钮 为了更好地理解,假设我有3个动态膨胀的LinearLayouts,带有editText和一个add按钮 现在,我有三个web服务: 添加数据 获取数据 编辑数据 AddDataWebService用于将数据添加到Web服务器,当我们添加数据时,可以使用GetDataWebService检索数据。 在addData Web服务中,我通过Edi

我动态创建了一个
LinearLayout
,其中包含一个
EditText
和一个Add按钮

根据Web服务的不同,
LinearLayout
可能有2、3等按钮

为了更好地理解,假设我有3个动态膨胀的
LinearLayouts
,带有
editText
和一个add按钮

现在,我有三个web服务:

  • 添加数据
  • 获取数据
  • 编辑数据
AddDataWebService用于将数据添加到Web服务器,当我们添加数据时,可以使用GetDataWebService检索数据。 在addData Web服务中,我通过
EditText
文本传递已膨胀的
LinearLayout
的位置索引,同时点击Add按钮并使用位置索引获取数据

[{"truckNo":"truck2_no","driverName":"driver2_name","driverMobile":"driver2_mobile","driverLicense":"driver2_license","placeOfIssue":"place2_of_issue","id":3,"positionIndex":1},{"truckNo":"ggg","driverName":"ggg","driverMobile":"vvh","driverLicense":" vv","placeOfIssue":"vvg","id":4,"positionIndex":3}]
如果positionIndex位于getdataweb服务上,那么我可以编辑相应位置的数据。这意味着如果positionIndex是3,那么我们只能编辑位置3,正如我们在JSON中看到的那样。我可以编辑位置1和位置3,但对于位置2,我必须使用addData web服务

问题: 当我使用来自web服务的getData时,我无法根据位置区分哪些数据是可编辑的,哪些数据必须添加

点击“添加”按钮代码时:

if(truckDetailList!=null && truckDetailList.size()>0) {
    for(int k=0;k<truckDetailList.size();k++) {
       Log.e("id--->>",""+(view1.getId()+1)+"");
       Log.e("truckDetailList-->>",""+truckDetailList.get(k).getTruck_index_position());

       int getTruckPosition=truckDetailList.get(k).getTruck_index_position();

       if(getTruckPosition==(view1.getId()+1)) {
           //Log.e("",""+truck_nmbr_autocmplt.getText().toString(), driverNames, driverMobiles, driverLicncs, plcOfIssues, truckDetailList.get(view1.getId()).getId(), truck_nmbr_autocmplt, driverName, driverMobile, driverLicnc, plcOfIssue)
           editTruckDetail(truck_nmbr_autocmplt.getText().toString(), driverNames, driverMobiles, driverLicncs, plcOfIssues, truckDetailList.get(k).getId(), truck_nmbr_autocmplt, driverName, driverMobile, driverLicnc, plcOfIssue);
           break;
       }
       else {
           postTruckDetailToServer(truck_nmbr_autocmplt.getText().toString(), driverNames, driverMobiles, driverLicncs, plcOfIssues, subID, supplierResponse, truck_nmbr_autocmplt, driverName, driverMobile, driverLicnc, plcOfIssue, position_index);
           break;
       }
    }
 }
else {
    postTruckDetailToServer(truck_nmbr_autocmplt.getText().toString(), driverNames, driverMobiles, driverLicncs, plcOfIssues, subID, supplierResponse, truck_nmbr_autocmplt, driverName, driverMobile, driverLicnc, plcOfIssue, position_index);
 }
if(truckDetailList!=null&&truckDetailList.size()>0){

对于(int k=0;k当此类需求出现时,最好使用列表视图或回收器视图。它将自动处理该职位,因此您无需手动管理该职位。

当此类需求出现时,最好使用列表视图或回收器视图。它将自动处理该职位,因此您无需管理该职位手动将其删除