如何在另一个自定义视图中添加自定义视图?

埃弗里特

我正在尝试将CustomViewBeta(扩展的RelativeLayout)添加到CustomViewAlpha(扩展的LinearLayout)中-这个想法是,CustomViewAlpha将在ListView中容纳一堆CustomViewBeta。无论我尝试什么,都行不通。我要么什么都没看到-没有CustomViewBetas,或者当我在CustomViewBeta内部的一个TextView上尝试setText时,它给了我NPE

CustomViewAlpha可以很好地工作,因为它在Fragment的XML中进行了硬编码:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout
   ...>
    <com.path.CustomViewAlpha
        android:id="@+id/customviewalpha"
        android:orientation="vertical"
        android:layout_gravity="center_vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</FrameLayout>

代码如下:

public class CustomViewAlpha extends LinearLayout {
private Context mContext;

public CustomViewAlpha (Context context) {
    super(context);
    this.mContext = context;
}

public CustomViewAlpha (Context context, AttributeSet attrs) {
    super(context, attrs);
    this.mContext = context;
}

public CustomViewAlpha (Context context, AttributeSet attrs, int defStyle){
    super(context, attrs,defStyle);
    this.mContext = context;
}

public void addCustomViewBeta(String someString){
    CustomViewBeta customViewBeta = new CustomViewBeta(mContext);
    addView(customViewBeta);
}

未将CustomViewBeta硬编码在Fragment的XML中,并通过编程方式添加了:

公共类CustomViewBeta扩展了RelativeLayout {私有上下文mContext;

private TextView textView;

public CustomViewBeta (Context context) {
    super(context);
    this.mContext = context;
    init();
}

public CustomViewBeta (Context context, AttributeSet attrs) {
    super(context, attrs);
    this.mContext = context;
    init();
}

public CustomViewBeta (Context context, AttributeSet attrs, int defStyle){
    super(context, attrs,defStyle);
    this.mContext = context;
    init();
}


private void init() {
    LayoutInflater.from(mContext).inflate(R.layout.customviewbeta, null, false);
    textView = (TextView) findViewById(R.id.tripleexpandablelistview_category_name);
    textView.setText("ASDASDASDAD");
}

使用此XML:

<?xml version="1.0" encoding="utf-8"?>
<com.path.CustomViewBeta
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/customviewbeta_textview"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"/>

</com.path.CustomViewBeta>

我通常会在“ textView.setText(“ ASDASDASDAD”);“上被NPE击中 行,因为TextView为null。有什么我想念的吗?我是否不应该尝试为CustomViewBeta扩充XML,而只是以编程方式进行处理(以编程方式逐一添加文本视图?)?谢谢。

黑带

你的初始化是错误的

private void init() {
    LayoutInflater.from(mContext).inflate(R.layout.customviewbeta, null, false);
    textView = (TextView) findViewById(R.id.tripleexpandablelistview_category_name);
    textView.setText("ASDASDASDAD");
}

最后一个参数必须true将添加TextView到RelativeLayout.Also中ViewGroup,该static inflate方法具有一个方法,因此可以避免LayoutInflater.from(mContext),只需调用inflate(mContext, R.layout.customviewbeta, this);

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将自定义xtype添加到另一个视图?

来自分类Dev

如何将自定义xtype添加到另一个视图?

来自分类Dev

如何使用XAML中的另一个自定义控件基类使WPF在视图中实例化一个自定义控件?

来自分类Dev

如何使用XAML中的另一个自定义控件基类使WPF在视图中实例化一个自定义控件?

来自分类Dev

在另一个视图中嵌入自定义视图的正确 MVC 结构是什么?

来自分类Dev

在Android的自定义列表视图中从一个片段移动到另一个片段

来自分类Dev

从自定义视图类向UIViewController添加一个自定义视图

来自分类Dev

如何在自定义视图中向多数据添加自定义数组?

来自分类Dev

如何在自定义视图中向多数据添加自定义数组?

来自分类Dev

是否可以在另一个应用程序中实现自定义视图?

来自分类Dev

无法从另一个类访问我的自定义视图对象

来自分类Dev

如何在自定义视图组中设法让一个孩子领先于另一个孩子?

来自分类Dev

从表视图之外的另一个视图中的自定义单元格检索文本字段数据

来自分类Dev

如何在ios中自定义推送和弹出动画时将视图传递给另一个控制器?

来自分类Dev

如何在ui视图中显示自定义指令?

来自分类Dev

如何在ui视图中显示自定义指令?

来自分类Dev

如何在collectionView swift中每2行后添加一个自定义视图

来自分类Dev

如何在自定义tableViewController中过渡到另一个viewController?

来自分类Dev

您如何获取自定义视图控制器以将其视图加载到另一个笔尖的占位符中?

来自分类Dev

如何使用自定义列表视图将特定的文本视图文本发送到另一个活动?

来自分类Dev

如何正确地向另一个自定义控件添加一个自定义控件,使其以表格形式呈现?

来自分类Dev

如何使用分段控件在一个表视图中维护两个自定义单元格?

来自分类Dev

创建一个自定义视图组

来自分类Dev

创建一个简单的自定义滚动视图

来自分类Dev

一个表视图中的多个自定义单元格不起作用

来自分类Dev

在一个视图中将自动生成的列与自定义列合并

来自分类Dev

自定义视图layout_gravity在另一个布局上调用时不起作用

来自分类Dev

如何在Swift的故事板上的表视图中添加两个自定义单元格?

来自分类Dev

如何在Swift的故事板上的表视图中添加两个自定义单元格?

Related 相关文章

  1. 1

    如何将自定义xtype添加到另一个视图?

  2. 2

    如何将自定义xtype添加到另一个视图?

  3. 3

    如何使用XAML中的另一个自定义控件基类使WPF在视图中实例化一个自定义控件?

  4. 4

    如何使用XAML中的另一个自定义控件基类使WPF在视图中实例化一个自定义控件?

  5. 5

    在另一个视图中嵌入自定义视图的正确 MVC 结构是什么?

  6. 6

    在Android的自定义列表视图中从一个片段移动到另一个片段

  7. 7

    从自定义视图类向UIViewController添加一个自定义视图

  8. 8

    如何在自定义视图中向多数据添加自定义数组?

  9. 9

    如何在自定义视图中向多数据添加自定义数组?

  10. 10

    是否可以在另一个应用程序中实现自定义视图?

  11. 11

    无法从另一个类访问我的自定义视图对象

  12. 12

    如何在自定义视图组中设法让一个孩子领先于另一个孩子?

  13. 13

    从表视图之外的另一个视图中的自定义单元格检索文本字段数据

  14. 14

    如何在ios中自定义推送和弹出动画时将视图传递给另一个控制器?

  15. 15

    如何在ui视图中显示自定义指令?

  16. 16

    如何在ui视图中显示自定义指令?

  17. 17

    如何在collectionView swift中每2行后添加一个自定义视图

  18. 18

    如何在自定义tableViewController中过渡到另一个viewController?

  19. 19

    您如何获取自定义视图控制器以将其视图加载到另一个笔尖的占位符中?

  20. 20

    如何使用自定义列表视图将特定的文本视图文本发送到另一个活动?

  21. 21

    如何正确地向另一个自定义控件添加一个自定义控件,使其以表格形式呈现?

  22. 22

    如何使用分段控件在一个表视图中维护两个自定义单元格?

  23. 23

    创建一个自定义视图组

  24. 24

    创建一个简单的自定义滚动视图

  25. 25

    一个表视图中的多个自定义单元格不起作用

  26. 26

    在一个视图中将自动生成的列与自定义列合并

  27. 27

    自定义视图layout_gravity在另一个布局上调用时不起作用

  28. 28

    如何在Swift的故事板上的表视图中添加两个自定义单元格?

  29. 29

    如何在Swift的故事板上的表视图中添加两个自定义单元格?

热门标签

归档