0

我的列表视图包含带有文本的文本视图。我实现了一个 which on click 。增加列表视图的所有文本视图字体。但是当我运行我的示例时,只有一两行字体发生了变化,而另一种字体保持默认。我的问题是如何在单击按钮时一次增加所有字体。

我的列表适配器如下:

public class CommetaireAdapter extends BaseAdapter {

    private SampleListFragment activity;
    private ArrayList<Commentaire> data;
    private static LayoutInflater inflater = null;
    public static int selected_position_from_chapter=0;
    public ImageLoader imageLoader; 

    ViewHolder holder;
    static String src;

    public CommetaireAdapter(SampleListFragment context, ArrayList<Commentaire> d) {

        activity = context;
        data = d;
        inflater = (LayoutInflater) ((activity.getActivity()))
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        imageLoader=new ImageLoader(activity.getActivity());


    }

    public int getCount() {
        return data.toArray().length;

    }

    public Object getItem(int position) {

        return position;
    }

    public long getItemId(int position) {
        return position;
    }

    public static class ViewHolder {

        public TextView txTime;

    }

    public View getView(int position, View convertView, ViewGroup parent) {
        View vi = convertView;

        //row
        if (convertView == null) {

            if (position % 2 == 0) {
                vi = inflater.inflate(R.layout.comment_row, null);

            }else {

                vi = inflater.inflate(R.layout.comment_row_odd, null);

            }

            holder = new ViewHolder();
            holder.txTime = (TextView) vi.findViewById(R.id.txTime);

            vi.setTag(holder);

        } else
            holder = (ViewHolder) vi.getTag();


        holder.txTime.setText(data.get(position).getDate());


        return vi;

    }

在我的列表视图类中,我按下了缩小按钮,如下所示:

btZoomOut.setOnClickListener(new OnClickListener(){

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub

                CommetaireAdapter.ViewHolder.txTime.setTextSize(TypedValue.COMPLEX_UNIT_SP,10);
                efficientadapter.notifyDataSetChanged();

            }

        });
4

1 回答 1

1

我也遇到了这种类型的要求,但不同的是它是 Tab。我通过使用下面的代码解决了它。希望这将帮助您了解您的要求。

for(int i=0;i<tabHost.getTabWidget().getChildCount();i++){
            TextView textTab=(TextView)tabHost.getTabWidget().getChildAt(i).findViewById(android.R.id.title);
            textTab.setTextSize(TypedValue.COMPLEX_UNIT_DIP,10f);
    }

这不是我为您的查询提供的确切解决方案,但您的问题与我面临的问题相似。所以希望,这将帮助您为您的查询获得这种想法。:)

祝你好运!!!!

****解决方案(已编辑)** * **

 for(int i=0;i<yourListviewID.getChildCount();i++){
                    TextView textTab=(TextView)yourListviewID.getChildAt(i).findViewById(android.R.id.title);
// if your control is not textview, use your corretct one
                    textTab.setTextSize(TypedValue.COMPLEX_UNIT_DIP,10f);
        }

让我知道是否还有问题。:)

于 2013-10-02T11:22:04.287 回答