<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);
...
}
}