2017-05-04 1 views
-3

Je veux supprimer une ligne particulière de la base de données ainsi que de la vue de la liste lorsque je clique sur le bouton Supprimer, j'ai essayé, mais je ne reçois pas l'erreurRetirer les lignes de listview sur swipe ou le bouton

UserAdapter ne peut pas être jeté à android.content.Context

ici est mon adaptateur

public class UserAdapter extends BaseAdapter implements OnTaskCompleted{ 
    Context context; 
    UserAdapter userAdapter; 
    Bundle b=new Bundle(); 
    HashMap<Integer, UserSetter> userSettersClassHashMap; 
    int layoutResId; 
    String email_id=""; 
    private HashMap<String, String> postDataParams = null; 
    TextView fname,lname,uname,empid,emailid,contact,role; 
    Button edit,remove; 
    public UserAdapter(Context context, HashMap<Integer, UserSetter> userSettersClassHashMap, int layoutResId) { 
     this.context = context; 
     this.userSettersClassHashMap = userSettersClassHashMap; 
     this.layoutResId = layoutResId; 
    } 

    @Override 
    public int getCount() { 
     return userSettersClassHashMap.size(); 
    } 

    @Override 
    public Object getItem(int position) { 

     return userSettersClassHashMap.get(position); 
    } 

    @Override 
    public long getItemId(int position) { 
     return 0; 
    } 

@Override publique Voir getView (final int p osition, Vue convertView, parent ViewGroup) {

 View view; 

     if (convertView == null) { 
      LayoutInflater lf = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      convertView = lf.inflate(layoutResId, parent, false); 
      view = convertView; 

     } else { 
      view = convertView; 
     } 
     fname = (TextView) view.findViewById(R.id.fname); 
     emailid= (TextView) view.findViewById(R.id.emailid); 
     role= (TextView) view.findViewById(R.id.role); 

     remove=(Button) view.findViewById(R.id.remove); 
     fname.setText(Html.fromHtml(userSettersClassHashMap.get(position).getFirstname())); 
      role.setText(Html.fromHtml(userSettersClassHashMap.get(position).getRoleName())); 

     remove.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 


       email_id = String.valueOf(emailid.getText()); 
       Log.v("email adapter", String.valueOf(email_id)); 
       callRemove(); 
       notifyDataSetChanged(); 

      } 
      public void callRemove() { 

       postDataParams = new HashMap<>(); 

       postDataParams.put("email_id", email_id); 

       Log.d("postdataparams","->"+postDataParams); 
       new WebService(UserAdapter.this, postDataParams, "RemoveList").execute(AppConstants.BASE_URL + AppConstants.REMOVE_DATA); 
      } 

     }); 

     return view; 

    } 

Répondre

1

Modifier cette ligne

new WebService(UserAdapter.this, postDataParams, "RemoveList").execute(AppConstants.BASE_URL + AppConstants.REMOVE_DATA);

à

new WebService(context, postDataParams, "RemoveList").execute(AppConstants.BASE_URL + AppConstants.REMOVE_DATA);

0

Vous devez passer contexte au lieu de USerAdapter.this que:

new WebService(context, postDataParams, "RemoveList").execute(AppConstants.BASE_URL + AppConstants.REMOVE_DATA); 
+0

Je veux récupérer des données de la base de données du serveur et mettre à la spinner pas textview comment puis-je faire this.i m en utilisant ce 'place.setText (Html.fromHtml (myVehicleDetailsSettersClassHashMap.get (0) .getCity())); – Mohammad

+0

Ajouter des éléments dans arraylist et passer cette liste de tableau à l'adaptateur de votre spinner. –