1

У меня динамически создано LinearLayout, которое содержит EditText и одну кнопку добавления.Динамический надутый вид, чтобы определить положение

В зависимости от веб-службы LinearLayout может иметь 2, 3 или другие кнопки.

Для лучшего понимания предположим, что у меня есть 3 динамически накачанных LinearLayouts с EditTexts и кнопка добавления.

Теперь у меня есть три веб-службы:

  • AddData
  • GetData
  • editData

AddData Web Service используется для добавления данных на веб-сервере, и когда мы добавим мы может извлекать данные, используя web-сервис getData. В веб-сервисе addData я передаю позициюIndex раздутого LinearLayout с текстом EditText, нажимая кнопку «Добавить» и getData с помощью PositionIndex.

[{"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, я могу редактировать данные соответствующей позиции. Это означает, что если positionIndex равно 3, мы можем редактировать только позицию 3, как мы видим в JSON. Я могу отредактировать позицию 1, а позиция 3 завышена LinearLayout, но для позиции 2 я должен использовать веб-службу addData.

Проблема: Когда я использую 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

Лучше привычка использовать List View или Recycler View, когда этот тип требований приходит. Он автоматически обрабатывает позицию, поэтому вам не нужно управлять ею вручную.