android里getView,inflate,listview问题

分享到:

今天在写一个listview的时候,遇到一个问题,如下

package com.brookji.funlearn;

import java.util.ArrayList;

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;

public class ListViewActivity extends Activity {

    private ListView listView;
    private MyAdapter adapter;
    
    
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list_view);
        listView = (ListView)findViewById(R.id.listviewlearn);
        ArrayList<String> array = new ArrayList<>();
        array.add("jilichuan");
        array.add("xumeifang");
        adapter = new MyAdapter(this, array);
        listView.setAdapter(adapter);
/*        TextView view = new TextView(this);
        listView.addView(view);
        view.setText("child");*/
        
    
    }
    
    
    public class MyAdapter extends BaseAdapter{
        
        private ArrayList<String> items;
        private Context context;
        
        public MyAdapter(){
            items = new ArrayList<>();
        }
        
        public MyAdapter(Context context, ArrayList<String> items){
            this.context = context;
            this.items = items;
        }
        
        
        @Override
        public int getCount() {
            // TODO Auto-generated method stub
            return items.size();
        }

        @Override
        public Object getItem(int position) {
            // TODO Auto-generated method stub
            return items.get(position);
        }

        @Override
        public long getItemId(int position) {
            // TODO Auto-generated method stub
            return position;
        }

        @Override
        public View getView(int position, View convertView, ViewGroup parent) {
            // TODO Auto-generated method stub
            convertView = ((LayoutInflater)context.getSystemService(context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.listviewlearn_item_title, null);
            TextView textView = (TextView)convertView.findViewById(R.id.listviewlearn_title);
            textView.setText((String)getItem(position));
            
            return convertView;
        }
        
    }
昵    称:
验证码:

相关文档: