代码中动态生成Textview

动态生成Textview并作为Listview中getView()的返回。

//google库中如下定义,第一个参数是宽度,第二个参数是高度
public LayoutParams(int width, int height) { /* compiled code */ }

private ListAdapter mAdapter = new BaseAdapter() {
    @SuppressLint("NewApi")
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        if (position == 0){
            TextView textView = new TextView(getActivity());
            //这里的Textview的父layout是ListView,所以要用ListView.LayoutParams
            ListView.LayoutParams layoutParams = new ListView.LayoutParams(ListView.LayoutParams.MATCH_PARENT, ListView.LayoutParams.WRAP_CONTENT);
            textView.setLayoutParams(layoutParams);
            textView.setPadding(20, 0, 20, 0);
            textView.setText(R.string.program_description);
            textView.setTextColor(getResources().getColor(R.color.black));
            textView.setTextSize(12);
            return textView;
        } else if(position == 1){
            ImageView imageView = new ImageView(getActivity());
            ListView.LayoutParams layoutParams = new ListView.LayoutParams(ListView.LayoutParams.MATCH_PARENT, ListView.LayoutParams.WRAP_CONTENT);
            imageView.setLayoutParams(layoutParams);
            imageView.setBackgroundResource(R.drawable.bar_next);
            return imageView;
        }
        View programView = mInflater.inflate(R.layout.program_listview_part, null);
        programView.setOnClickListener(mItemOnClickListener);
        return programView;
    }

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

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

    @Override
    public int getCount() {
        // TODO Auto-generated method stub
        return 15;
    }
};

代码中动态生成Textview_第1张图片

你可能感兴趣的:(android)