我在自己的文件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
。
我有什么遗失的东西吗?
答案 0 :(得分:1)
如果以XML格式添加视图,则无需使用
以编程方式添加视图CustomEditText customEditText = new CustomEditText(this, null);
linearLayout.addView(customEditText);
在xml中的CustomEditText上设置android:id="@+id/customEditText
,您将能够使用findViewById(R.id.customEditText)