当我点击按钮时,它给我在Toast中的位置。但问题是,如果我没有点击按钮,那么它不会采取任何位置它发送空值。如何将我的位置设置为1默认为是按钮。 以下是我的代码 -
package com.example.ajinkya.post;
import android.app.Activity;
import android.graphics.Color;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
import com.example.ajinkya.buttoninlv.R;
import java.util.ArrayList;
import java.util.HashMap;
/**
* Created by ABC on 2/13/2017.
*/
public class CustomAdapter extends BaseAdapter {
Activity a;
ArrayList<String> Custno;
ArrayList<String> Custname;
ArrayList<String> Custstatus;
ArrayList<String> Customermapping;
HashMap<Integer, Integer> statusArray = new HashMap<>();
public CustomAdapter(Activity a, ArrayList<String> custno, ArrayList<String> custname, ArrayList<String> custstatus,ArrayList<String>customermapping,HashMap<Integer, Integer> statusArray1) {
this.a = a;
Custno = custno;
Custname = custname;
Custstatus = custstatus;
Customermapping=customermapping;
statusArray=statusArray1;
}
@Override
public int getCount() {
return Custno.size();
}
@Override
public Object getItem(int position) {
return Custno.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
public class ViewHolder{
TextView custno,name;
Button status;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
final ViewHolder viewHolder=new ViewHolder();
LayoutInflater li = a.getLayoutInflater();
View v = li.inflate(R.layout.custom, parent, false);
viewHolder.custno=(TextView)v.findViewById(R.id.cno);
viewHolder.name=(TextView)v.findViewById(R.id.cname);
viewHolder.status=(Button)v.findViewById(R.id.btn1);
viewHolder.custno.setText(Customermapping.get(position));
viewHolder.custno.setText(Custno.get(position));
viewHolder.name.setText(Custname.get(position));
viewHolder.status.setText(Custstatus.get(position));
int data = statusArray.get(position) != null ? statusArray.get(position) : 1;
switch (data)
{
case 2:
viewHolder.status.setText("Yes");
Customermapping.get(position);
break;
case 3:
viewHolder.status.setText("No");
Customermapping.get(position);
break;
case 4:
viewHolder.status.setText("Maybe");
Customermapping.get(position);
break;
default:
viewHolder.status.setText("Cant say");
Customermapping.get(position);
break;
}
viewHolder.status.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Integer status1 = statusArray.get(position) != null ? statusArray.get(position) : 1;
if (status1 == 2) {
statusArray.put(position, 1);
Toast.makeText(a, " " + Customermapping.get(position) + " " + statusArray.get(position), Toast.LENGTH_SHORT).show();
} else if (status1 == 3) {
statusArray.put(position, 2);
Toast.makeText(a, " " + Customermapping.get(position) + " " + statusArray.get(position), Toast.LENGTH_SHORT).show();
} else if (status1 == 4) {
statusArray.put(position, 3);
Toast.makeText(a, " " + Customermapping.get(position) + " " + statusArray.get(position), Toast.LENGTH_SHORT).show();
} else {
statusArray.put(position, 4);
Toast.makeText(a, " " + Customermapping.get(position) + " " + statusArray.get(position), Toast.LENGTH_SHORT).show();
}
notifyDataSetChanged();
}
});
return v;
}
}