我动态创建了LinearLayout
,其中包含EditText
和一个添加按钮。
根据Web服务,LinearLayout
可能有2,3或其他按钮。
为了更好地理解,我们说我有3个动态虚增LinearLayouts
EditTexts
和一个添加按钮。
现在,我有三个网络服务:
addData Web Service用于将数据添加到Web服务器,当我们添加时,我们可以使用getData webservice检索数据。
在addData Web Service中,我在使用LinearLayout
文本时传递了膨胀EditText
的positionIndex,同时点击Add按钮,并使用PositionIndex传递getData。
[{"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位于getData Web服务上,那么我可以编辑相应位置的数据。这意味着如果positionIndex为3,那么我们只能编辑位置3,就像我们在JSON中看到的那样。我可以编辑位置1和位置3膨胀LinearLayout
但是对于位置2,我必须使用addData网络服务。
问题: 当我从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);
}
答案 0 :(得分:0)
当这种要求出现时,最好习惯使用List View或Recycler View。它将自动处理位置,因此您无需手动管理它。