我在自己的文件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)
查找视图