我在自己的文件EditText中设置了自定义CustomEditText.java

public class CustomEditText extends EditText {
    ...
}


我在活动的XML中使用全名引用它:

<LinearLayout>

    <com.example.app.CustomEditText
        ...
    />
</LinearLayout>


我将自定义EditText放在我的活动类中:

    LayoutInflater inflater = getLayoutInflater();
    LinearLayout linearLayout= (LinearLayout) inflater.inflate(R.layout.activity_main, null);

    CustomEditText customEditText = new CustomEditText(this, null);

    linearLayout.addView(customEditText);
    this.setContentView(linearLayout);


我可以正常访问此customEditText

customEditText.setText("Hello!")


但是以后无法使用customEditText访问此findViewById(R.id.customEditText),因为这将返回一个空的EditText

有什么我想念的吗?

最佳答案

如果您以XML添加视图,则无需以编程方式添加

CustomEditText customEditText = new CustomEditText(this, null);
linearLayout.addView(customEditText);


在xml的CustomEditText中设置android:id="@+id/customEditText,您将可以使用findViewById(R.id.customEditText)查找视图

10-04 17:37