how to display listview with edittext and checkbox in android
hello friends i ma new to android development . i want to create a custom
listview with edittext and checkbox. data in listview is populated from
sql server.i got one tutorial in net. using that i tried to create such
listview but my problem is nothing is displayed there. even no error msg
are displayed in logcat too.i cann't understand why listview is not
displayed . if any one plzz help me .. it's very urgent... my java classes
are......
GiftModel.java
public class GiftModel {
public String gift="";
public boolean selected=false;
public String item="";
public GiftModel(String gift){
this.gift = gift;
selected = false;
item="";
}
public String getGift(){
return gift;
}
public void setGift(String gift){
this.gift=gift;
}
public boolean isSelected() {
return selected;
}
public void setSelected(boolean selected) {
this.selected = selected;
}
public String getItem() {
return item;
}
public void setItem(String item) {
this.item = item;
}
}
AdapterClass.java
public class GiftAdapter extends ArrayAdapter<GiftModel>{
private final List<GiftModel> list;
private final Activity context;
public GiftAdapter(Activity context, List<GiftModel> list)
{
super(context, R.layout.gift_row, list);
this.context = context;
this.list = list;
}
static class ViewHolder
{
protected TextView text;
protected CheckBox checkbox;
protected EditText scores;
}
@Override
public View getView(int position, View convertView, ViewGroup parent)
{
View view = null;
if (convertView == null)
{
LayoutInflater inflator = context.getLayoutInflater();
view = inflator.inflate(R.layout.gift_row, null);
final ViewHolder viewHolder = new ViewHolder();
viewHolder.text = (TextView) view.findViewById(R.id.tvgift);
viewHolder.scores=(EditText) view.findViewById(R.id.qunt);
viewHolder.scores.addTextChangedListener(new TextWatcher()
{
public void onTextChanged(CharSequence s, int start, int
before, int count) {
GiftModel element=(GiftModel)viewHolder.scores.getTag();
element.setItem(s.toString());
}
public void beforeTextChanged(CharSequence s, int start,
int count,int after)
{
}
public void afterTextChanged(Editable s)
{
}
});
viewHolder.checkbox = (CheckBox)
view.findViewById(R.id.chkAndroid);
viewHolder.checkbox.setOnCheckedChangeListener(new
CompoundButton.OnCheckedChangeListener() {
public void onCheckedChanged(CompoundButton
buttonView,boolean isChecked) {
GiftModel element = (GiftModel)
viewHolder.checkbox.getTag();
element.setSelected(buttonView.isChecked());
}
});
viewHolder.checkbox.setTag(list.get(position));
viewHolder.scores.setTag(list.get(position));
//viewHolder.id.setTag(list.get(position));
view.setTag(viewHolder);
}
else
{
view = convertView;
((ViewHolder) view.getTag()).checkbox.setTag(list.get(position));
((ViewHolder) view.getTag()).scores.setTag(list.get(position));
}
ViewHolder holder = (ViewHolder) view.getTag();
holder.text.setText(list.get(position).getGift());
holder.scores.setText(list.get(position).getItem());
holder.checkbox.setChecked(list.get(position).isSelected());
return view;
}
}
MainActivity.java
public class ListviewHelper extends Activity {
private ListView listview;
Button save;
MyConnection mycon;
ResultSet rs;
int PA_ID;
//String drgift=null;
ArrayAdapter<GiftModel>adapter;
List<GiftModel> giftlist = new ArrayList<GiftModel>();
public void onCcreate(Bundle b){
super.onCreate(b);
setContentView(R.layout.data_list);
mycon.msgBox("hello");
listview=(ListView)findViewById(R.id.list);
save=(Button)findViewById(R.id.testbutton);
mycon=new MyConnection(ListviewHelper.this);
PA_ID=MyConnection.PA_ID;
adapter=new GiftAdapter(this,getModel());
listview.setAdapter(adapter);
//drgift=bun.getString("gift");
save.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
for (int i = 0; i < giftlist.size(); i++) {
Toast.makeText(getBaseContext(), "Name :
"+giftlist.get(i).getGift() +" Selected:
"+giftlist.get(i).isSelected()+"address:
"+giftlist.get(i).getItem().toString(),
Toast.LENGTH_SHORT).show();
}
}
});
}
private List<GiftModel>getModel(){
try{
Statement smt=mycon.connection().createStatement();
rs=smt.executeQuery("GetGift_Pranesh_New '"+PA_ID+"'");
while(rs.next()){
giftlist.add(new GiftModel(rs.getString("ITEM_NAME")));
//giftlist.add(new GiftModel(rs.getString("ITEM_ID")));
}
}catch(Exception e){
e.printStackTrace();
}
return giftlist;
}
}
i cann't understand why nothing is displayed....plzz guys help me.
No comments:
Post a Comment