2013-12-18 6 views
-1

Я использую флажок в ListActivity. Я не знаю, как обновить флажок на сервере.Как обновить позицию позиции флажка

Теперь я придумал, что для отмеченного элемента не установлен флажок, и сохранение означает, что он сохранит (или обновит) сервер. Но в неконтролируемом элементе флажок означает не сохранять (или не обновлять) сервер.

Rsvp_EngagementMeals.java:

public class Rsvp_EngagementMeals extends ListActivity 
{ 
    @Override 

      checkstatus=new Hashtable<Integer,String>(); 
      status=new ArrayList<String>(); 
       veg =Rsvp_Meals.veg; 

      String user_url="http://mobileapps.iwedplanner.com/mobileapps/iwedplanner/mobile/version21/mmealitems.aspx?uname="+LoginForm.str1+"&occasion="+occasionval;  

     httpclass obj = new httpclass(); 
     result = obj.server_conn(user_url); 

     if (result != null) 
     {   
      token = new StringTokenizer2(result, ""); 
     } 


      value = new ArrayList<String>(); 

      while (token.hasMoreTokens()) 
      { 
       value.add(token.nextToken()); 
      } 

      value.add(Integer.toString(value.size())); 

      Integer k=null; 
      table=new Hashtable<Integer,ArrayList<String>>(); 
      itemId = new ArrayList<String>(); 
      str2 = new ArrayList<String>(); 
      str3 = new ArrayList<String>(); 
      stritem = new ArrayList<String>(); 
      vegitems = new ArrayList<String>(); 

      int id=0,c=0,n=value.size(); 

      for(int j=0; j<n; j++) 
      {    
       z = value.get(j); 

      String[] mystring = z.split("<br>"); 

       int arraysize = mystring.length; 

       for(int a=0; a<arraysize-1;a++) 
       { 
       str2.add(mystring[0]); 
       } 

      }    

      for(int g=0; g<str2.size();g++) 
      {    
       String name = str2.get(g); 

       token2 = new StringTokenizer2(name, "|", false); 

       while (token2.hasMoreTokens()) 
       { 
       vegitems.add(token2.nextToken()); 
       } 
          } 

      for(int x=1;x<vegitems.size();x++) 
      { 

       itemId.add(vegitems.get(x)); 
       x=x+1; 
       stritem.add(vegitems.get(x)); 
       x=x+1; 
       status.add(vegitems.get(x)); 

      } 

       setListAdapter(new IconicAdapter(this)); 

      save.setOnClickListener(new OnClickListener() 
      { 

       @Override 
       public void onClick(View v) { 
        // TODO Auto-generated method stub 
        tru = new StringBuffer(); 
        fals = new StringBuffer(); 

        for (int i = 0; i<status.size();i++) 
        { 
         if (status.get(i).equals("True")) 

          tru.append(itemId.get(i)+","); 

        } 

        boolean netvalue = false; 
        ConnectivityManager cm = (ConnectivityManager)getSystemService(Context.CONNECTIVITY_SERVICE); 


         NetworkInfo info = cm.getActiveNetworkInfo(); 
         if (info != null && info.isAvailable()) { 
             netvalue = true; 

         String user_url="http://mobileapps.iwedplanner.com/mobileapps/iwedplanner/mobile/version21/minsertmealchoiceNew.aspx?uname=abcdefg&occasion=Engagement 
           "&choice="+tru+"&ownchoice=&category="; 

         httpclass obj = new httpclass(); 
         result = obj.server_conn(user_url); 

         StringTokenizer st = new StringTokenizer(result, "|"); 
         result = st.nextToken(); 

         if ((result.equals("Engagement 1&")) || (result.equals("Wedding 1&")) || (result.equals("Reception 1&"))) 
         { 
          // alertbox("Success", "saved successfully"); 

          Dialog locationError = new AlertDialog.Builder(Rsvp_EngagementMeals.this) 
            .setIcon(0) 
            .setMessage("Meals has been saved sucessfully") 
            .setTitle("Success") 
            .setPositiveButton(R.string.yes, 
              new DialogInterface.OnClickListener() { 
               @Override 
               public void onClick( 
                 DialogInterface dialog, 
                 int id) { 

                Intent ma = new Intent(
                  Rsvp_EngagementMeals.this, Rsvp_Meals.class); 
                startActivity(ma); 
                finish(); 

               } 
              }).create(); 
          locationError.show(); 

         } else 
          alertbox("", result); 

        } else { 
         alertbox("Message", "No Internet Connection!"); 
        } 

       } 

      }); 


      }// End of On create method 



    @Override 
    protected void onListItemClick(ListView parent, View v, int position,long id) 
    { 
     super.onListItemClick(parent, v, position, id); 

     } 
public void onClick(View v) 
{ 
    System.out.println("On View Click"); 
} 

    @SuppressWarnings("rawtypes") 
    class IconicAdapter extends ArrayAdapter 
    { 
     Activity context; 

     @SuppressWarnings("unchecked") 
     IconicAdapter(Activity context)      
     { 
      super(context, R.layout.rsvp_mealsse, stritem); 

      this.context = context; 
     } 

    @Override 

    public View getView(int position, View convertView, ViewGroup parent) 
    { 
      LayoutInflater inflater = context.getLayoutInflater(); 
      View row = inflater.inflate(R.layout.rsvp_mealsse,null);//viewappointlist, null); 

      TextView index = (TextView) row.findViewById(R.id.index); 
      index.setText(String.valueOf(position+1)+"."); 


      TextView label = (TextView) row.findViewById(R.id.title); 
      label.setText(stritem.get(position)); 


      CheckBox check=(CheckBox)row.findViewById(R.id.check); 

      check.setId(Integer.parseInt(itemId.get(position))); 


      if(status.get(position).equals("True")) 
       check.setChecked(true); 
       ; 

        check.setOnCheckedChangeListener(new OnCheckedChangeListener() 
        { 

         @Override 
         public void onCheckedChanged(CompoundButton buttonView, 
           boolean isChecked) { 
          // TODO Auto-generated method stub 
          int ind=itemId.indexOf(String.valueOf(buttonView.getId())); 
          status.set(ind, String.valueOf(isChecked)); 

         } 

        }); 

      return (row); 
        } 
} 

Это мой полный code.How изменить статус проверки box.I хочу привести, когда я обновляю флажок его сохранить сервер и после того, как я осматриваю в списке отображается обновленный элемент.

+1

checkbox.setChecked (boolean value) установить соответствующее значение. –

+0

проверить [эту ссылку] (http://androidfreakers.blogspot.in/2011/10/custom-listview-with-checkbox.html), чтобы улучшить Идея для этого. – AndyN

+0

см. [Это] (http://sunil-android.blogspot.in/2013/04/android-listview-checkbox-example.html). – AndyN

ответ

3

Единственная ошибка, которую я мог бы указать было написание ложна в вашей, если заявление:

Изменить этот код:

if(status.get(position).equals("False")) 

К этому коду:

if(status.get(position).equals("false")) 

надеюсь, что это сработает!

+0

Результатом моего веб-сервиса является «False», «True». – Ramani

+0

Является ли приведенное выше изменение рабочим и, кстати, String.valueOf (isChecked) даст вам строку как «false»; – AabidMulani

Смежные вопросы