【发布时间】:2014-05-08 08:56:48
【问题描述】:
我是一名新的 Android 开发人员,我想在列表视图中显示从 db 获取的数据,我正在使用 ArrayAdapter 但没有显示请任何人帮助我...
我的主要活动代码在这里
public class SmsMerge extends Activity {
private ImageButton btn;
private ImageButton imgb;
private TemplateOperation templateDBoperation;
ArrayList<List> arr;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sms_merge);
templateDBoperation = new TemplateOperation(this);
templateDBoperation.open();
List values = templateDBoperation.getAllTemplate();
arr=new ArrayList<List>();
arr.add((ArrayList<List>)values);
ListView listview = (ListView)findViewById(android.R.id.list);
MyListAdapter adpttt=new MyListAdapter(SmsMerge.this,R.layout.row,arr);
listview.setAdapter(adpttt);
}
}
CustomAdapter 代码在这里
package com.example.sqliteapplication;
import java.util.ArrayList;
import java.util.List;
import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.MenuInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class MyListAdapter extends ArrayAdapter<List> {
List names;
int inflatr;
Context ctxt;
ArrayList<List> data=new ArrayList<List>();
public MyListAdapter(Context context, int layoutResourceId,
ArrayList<List> data) {
super(context, layoutResourceId, data);
this.inflatr = layoutResourceId;
this.ctxt = context;
this.data= data;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
UserHolder holder = null;
View row = convertView;
if(convertView==null)
{
LayoutInflater inflater = ((Activity) ctxt).getLayoutInflater();
row = inflater.inflate(inflatr, parent, false);
holder = new UserHolder();
holder.btnEdit = (Button) row.findViewById(R.id.atomPay_removePay);
row.setTag(holder);
}
else
{
holder = (UserHolder) row.getTag();
}
List dta=data.get(position);
holder.btnEdit.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(ctxt, "Humayoon Siddiqueeeeeeeeeeeeeeeeeee", Toast.LENGTH_SHORT).show();
}
});
return convertView;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return 0;
}
static class UserHolder {
TextView textName;
TextView textAddress;
TextView textLocation;
Button btnEdit;
Button btnDelete;
}
}
【问题讨论】:
标签: android android-listview custom-adapter