gpt4 book ai didi

java - 如何使用基本布局并在 android 中自定义它

转载 作者:行者123 更新时间:2023-11-30 01:28:10 25 4
gpt4 key购买 nike

我正在尝试基于 layout.xml 文件创建一个线性布局和一个 editText,这里是 java 代码:

private EditText editText(int _intID) {
EditText editText = (EditText)findViewById(R.id.player_name);
editText.setId(_intID);
editText.setHint("Element "+_intID);
editTextList.add(editText);

return editText;
}

private LinearLayout linearlayout(int _intID)
{

LinearLayout LLMain= (LinearLayout)findViewById(R.id.linear_player_base);

LLMain.setId(_intID);
LLMain.addView(editText(_intID));

LLMain.setOrientation(LinearLayout.VERTICAL);
linearlayoutList.add(LLMain);
return LLMain;

}

这是我想用作基础的 xml 布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:layout_marginBottom="5dp"
android:layout_weight="1"
xmlns:android="http://schemas.android.com/apk/res/android"
android:paddingLeft="40dp"
android:paddingRight="40dp"
android:id="@+id/linear_player_base">
<EditText
android:id="@+id/player_name"
android:background="@drawable/input"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:imeOptions="actionSend"
xmlns:android="http://schemas.android.com/apk/res/android"
android:gravity="center_horizontal"
/>
</LinearLayout>

我不明白为什么我这样做:

LinearLayout LLMain= (LinearLayout)findViewById(R.id.linear_player_base);
and then :

LLMain.setId(_intID);

我有这个错误:Attempt to invoke virtual method 'void android.widget.LinearLayout.setId(int)' on a null object reference

为什么 LLMain 为空?

最佳答案

您必须使用您的布局扩充自定义 View ,并在此 View 中找到线性布局...这样做:

LayoutInflater inflater = getLayoutInflater();
View v = inflater.inflate(R.layout.playerLayout, null);

LinearLayout LLMain= (LinearLayout) v.findViewById(R.id.linear_player_base);

关于java - 如何使用基本布局并在 android 中自定义它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36112725/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com