我是Android新手。 我喜欢通过点击EditText来加载布局xml。 该特定的xml填充了带有文本的按钮。当用户按下其中一个按钮时,按钮上的文本将显示在EditText中。 我有两个问题。
(1)EditText IDEditTxt = (EditText) findViewById(R.id.IDeditText);
在那一行中,IDEditTxt始终为null,即使IDeditText确定在R.id.I中我尝试了所有可以从互联网上找到的方法,如清理,删除xml,重写xml。我尝试了所有,但仍有问题。 但是,EditText中的文本可以用于其他目的。我不明白为什么IDEditTxt是walays null,但是可以读取EditText里面的文本。
new AlertDialog.Builder(this).setTitle("New Tracker").setView(addView)
.setPositiveButton("ADD", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
addWord((TextView) addView.findViewById(R.id.IDeditText));
}
}).setNegativeButton("Cancel", null).show();
(2)如何通过点击EditText来实现加载布局xml。然后按钮上显示的文本将显示在EditText中。
谢谢
答案 0 :(得分:0)
在该行中,IDEditTxt始终为null,即使IDeditText确定在R.id内部....我不明白为什么IDEditTxt是walays null,但是可以读取EditText中的文本。
EditText
文件中存在Layout
,但您尝试申报和使用的EditText
对象为null
,直到inflate
layout
inflate
为止layout
}。您需要setContentView(R.layout.your_layout_file);
inflater
首先使用AlertDialog
或使用layouts
,就像Activity
(2)如何通过点击EditText来实现加载布局xml。然后按钮上显示的文本将显示在EditText中。
通常最好不要在同一个View
中创建单独的Layout
。您可能会遇到尝试使用{1}}中出现的Layout
错误或效率问题的错误。您应该为Actvity
创建一个Activity
并将其用于整个事情,除非您有特殊原因不能。您可以使用所需的layout
启动新的visibility
,也可以将Buttons
的{{1}}设置为gone
,然后将其设为visible
动作发生后。希望这有点帮助,并且通过书籍和教程的建议是一个非常好的主意。现在可能需要更多时间,但在您了解框架的运作方式后,肯定会节省您的时间。