当前位置: 首页 > 面试题库 >

自定义ViewPager

孙宏壮
2023-03-14
问题内容

如何创建自定义的ViewPager?要在ViewPager中实例化页面,就像这样:

            public Object instantiateItem(View collection, int position) {
                    TextView tv = new TextView(cxt);
                    tv.setText("Bonjour PAUG " + position);
                    tv.setTextColor(Color.WHITE);
                    tv.setTextSize(30);

                    ((ViewPager) collection).addView(tv,0);

                    return tv;
            }

有没有办法在从Adapter扩展的Class中像这样膨胀:

public View getView(int position, View convertView, ViewGroup parent) {
    View v = convertView;
    if (v == null) {
        LayoutInflater vi = (LayoutInflater)getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        v = vi.inflate(R.layout.the_layout, null);
    }
    CustomView cv = items.get(position);
    if (cv != null) {
            TextView text = (TextView) v.findViewById(R.id.text);
            if (text != null) {
                  ticker.setText(cv.getText()); 
            }

问题答案:

这仅是示例,但运行正常。

public Object instantiateItem(View collection, int position) {
        LayoutInflater inflater = (LayoutInflater)cxt.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        View layout = inflater.inflate(R.layout.search_result, null);
        //
        TextView title = (TextView)layout.findViewById(R.id.search_result_title);
        TextView body = (TextView)layout.findViewById(R.id.search_result_body);
        TextView byline = (TextView)layout.findViewById(R.id.search_result_byline);
        TextView day = (TextView)layout.findViewById(R.id.search_result_date_day);
        TextView month = (TextView)layout.findViewById(R.id.search_result_date_month);
        TextView year = (TextView)layout.findViewById(R.id.search_result_date_year);
        //
        title.setText(list_title.get(position).toString());
        body.setText(list_body.get(position).toString());
        day.setText(list_day.get(position).toString());
        month.setText(list_month.get(position).toString());
        year.setText(list_year.get(position).toString());
        byline.setText(list_byline.get(position).toString());
        //
        ((ViewPager) collection).addView(layout,0);
        return layout;
    }


 类似资料:
  • 感谢SpanInjector和SpanExtractor,您可以自定义spans的创建和传播方式。 目前有两种在进程之间传递跟踪信息的内置方式: 通过Spring Integration 通过HTTP Span ids从Zipkin兼容(B3)头(Message或HTTP头)中提取,以启动或加入现有跟踪。跟踪信息被注入到任何出站请求中,所以下一跳可以提取它们。 与以前版本的Sleuth相比,重要的

  • whistle提供了插件的方式扩展协议,具体参考:插件开发

  • 问题内容: 美好的一天。 如果可以根据需要更改JLabel和JTextField字体大小,是否还可以更改JTable的列名和元素的字体样式(大小,外观,颜色)? 另外,我正在使用Windows的外观。 谢谢, 问题答案: 有默认值,以及和。您可以使用与键来覆盖默认。

  • 问题内容: 美好的一天。 如果可以根据需要更改JLabel和JTextField字体大小,是否还可以更改JTable的列名和元素的字体样式(大小,外观,颜色)? 另外,我正在使用Windows的外观。 谢谢, 问题答案: 有默认值,以及和。您可以使用与键来覆盖默认。

  • 问题内容: 我正在尝试在发送XHR之前先听它们。该方法类似于jQuery的beforeSend。 我的目标是在发送所有XHR之前监听它们。我想最接近的事情是检查上面是否? 上面的代码是否会因为我使用原型而导致诸如jQuery之类的ajax库出现故障? 问题答案: 我正在尝试在发送XHR之前先听它们。 然后尝试欺骗该方法,而不是一种。 上面的代码是否会因为我在XMLHttpRequest上使用原型而

  • 我在考虑用Java更改。基本上,我需要添加打印按钮沿ok按钮的对话,所以如果用户点击ok简单地关闭它,或者如果点击打印按钮,然后继续对打印按钮actionevent。