自定义ViewFlipper无法正常工作?

时间:2011-07-12 14:49:59

标签: java android

以下是我正在尝试做的简化代码示例:

public class main extends Activity {

    public myFlipper flipper;

    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        flipper = (myFlipper) findViewById(R.id.viewFlipper1);
    }

    class myFlipper extends ViewFlipper
    {

        public myFlipper(Context context)
        {
            super(context);
            // TODO Auto-generated constructor stub
        }

    }

}

当我尝试这样做时,Java会抛出一个classCastException,我做错了什么?

2 个答案:

答案 0 :(得分:0)

您还必须在XML上声明自定义视图:

<view class="your.package.main$myFlipper"
    android:layout_width="fill_parent"
    etc.
/>

额外建议:应使用大写的第一个字母声明类。

答案 1 :(得分:0)

我想到了那些感兴趣的人。

您需要添加一个允许自定义视图类中的Layout属性的构造函数。像这样:

    public myFlipper(Context context, AttributeSet attrs)
    {
        super(context, attrs);
        // TODO Auto-generated constructor stub
    }

你也需要关注克里斯蒂安的例子。然后它应该工作:))

相关问题