<android.support.v7.widget.RecyclerView
        android:id="@+id/menu_list_rv"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:visibility="gone"
        >

    </android.support.v7.widget.RecyclerView>


考虑RecyclerView的示例,我们将上述代码放在xml中,并在java类中创建其实例,如下所示

menuListRV      = (RecyclerView)findViewById(R.id.sugg_rv);


在此之后,我们可以随时控制它。

现在,我的问题是如何创建自己的xml标记<xyz></xyz>可能具有某些属性,并将一个类XYZ与其关联。

更新

我正在获取mediaplayer视图,但是当我将xml附加到它时,我并没有得到更改,我认为xml视图本身并未呈现。

public class ShortMediaPlayerControl extends ViewGroup {

    public ShortMediaPlayerControl(Context context, AttributeSet attrs) {
        super(context, attrs);
        inflate(context);
        Toast.makeText(context, "Coming 2", Toast.LENGTH_SHORT).show();
        TypedArray ta = context.obtainStyledAttributes(attrs, R.styleable.ShortMediaPlayerControl, 0, 0);
    }


    @Override
    protected void onLayout(boolean changed, int l, int t, int r, int b) {

    }

    private void inflate(Context context) {
        LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        inflater.inflate(R.layout.short_media_player, this, true);
    }

}

最佳答案

您需要创建从所需小部件继承的类。您的情况是RecyclerView。

public class MyCustomRecyclerView extends RecyclerView {
    ...
}


然后可以在xml中使用它,如下所示:

 <com.example.yourapp.MyCustomRecyclerView
    ...
           />


更新

也许迟了,但看起来我明白了你的意思。所以是的,您可以像这样将自定义窗口小部件类与xml关联:

public class MyCustomRecyclerView extends RecyclerView {
        ...
    private void init(final Context context) {
        inflate(context, R.layout.your_custom_recycler_view_layout, this);
        ...
    }
}

10-07 19:49
查看更多