使用定制适配器?

时间:2012-03-17 13:57:53

标签: java android

我想使用自定义适配器来填充我的列表视图中的电话联系人数据。 我有xml,其中包含2个联系人姓名和联系电话的文本视图。 我还有xml列表视图和2个按钮,我需要使用后者。 如果可能不是ListActivity,我想扩展Activity!? 我尝试了很多东西(BaseAdaper,SimpleCursorAdapter ......),但每次都出错了。 我真的很感激一些帮助,因为我不知道如何处理它。

这是我的代码:

公共类Imenik扩展了ListActivity {

TextView ime, broj;

ListView myListView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    //setContentView(R.layout.imeniklista);

    ime = (TextView) findViewById(R.id.tvImeImenik);
    broj = (TextView) findViewById(R.id.tvSamoProba);

    Cursor contactCursor = this.managedQuery(ContactsContract.Contacts.CONTENT_URI, null, null, null, null);

    myListView = (ListView) findViewById(R.id.lvImenik);
    this.setListAdapter(new MyContactAdaper(this, contactCursor));

}

private class MyContactAdaper extends CursorAdapter{
    private Context myContext;
    private Cursor myCursor;
    private LayoutInflater myLayoutInflater;

    public MyContactAdaper(Context context, Cursor cursor) {
        super(context, cursor, true);
        // TODO Auto-generated constructor stub
        myLayoutInflater = LayoutInflater.from(context);
        myContext = context;
    }

    @Override
    public void bindView(View view, Context context, Cursor cursor) {
        // TODO Auto-generated method stub
        ime.setText(cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)));
        broj.setText(cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER)));
    }

    @Override
    public View newView(Context context, Cursor cursor, ViewGroup parent) {
        // TODO Auto-generated method stub
        final View view = myLayoutInflater.inflate(R.layout.imenik, parent, false);
        return view;
    }

}

0 个答案:

没有答案