我正在尝试将自定义视图添加到主要活动的xml中。 我已经为视图创建了以下xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Testing custom view"
android:textSize="20dp" />
</LinearLayout>
并创建了以下类,其中上面的xml被夸大了:
public class TestView extends LinearLayout {
public TestView(Context context, @Nullable AttributeSet attrs) {
super(context, attrs);
View.inflate(context, R.layout.test_name, null);
}
在主要活动的xml中,我添加了如下的自定义视图:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.myapplication.MainActivity">
<com.example.myapplication.TestView
android:id="@+id/submit_area"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</LinearLayout>
当我运行该应用程序时,出现一个空白屏幕。它没有显示显示“测试自定义视图”的textview。 任何帮助将不胜感激。 谢谢
答案 0 :(得分:2)
您的自定义视图中的视图通胀代码看起来不正确。请按照以下给出的方法尝试。
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
inflater.inflate(R.layout.view_color_options, this, true);