无法在 DialogFragment 中将文本设置为 EditText
Cant set text to EditText in DialogFragment
我在 listview
行中有一个按钮,当我单击它时,我希望打开一个 dialogFragment 并将编辑文本(位于 dialogFragment 内)的文本设置为某个字符串。
问题是:应用到settext方法的那一行就关机了。
这是我用来打开 dialogFragment 并为其设置文本的代码。
public void onClick(View v) {
FragmentManager manager = getFragmentManager();
View parentRow = (View) v.getParent();
ListView listView = (ListView) parentRow.getParent();
final int position = listView.getPositionForView(parentRow);
TrempData data = adapter.getItem(position); //from here im getting the data that i want to set to the edit text.
Addtremp trempDialog = new Addtremp();
trempDialog.show(manager, "Addtremp");
trempDialog.from.setText(data.get_from());
trempDialog.to.setText(data.get_to());
trempDialog.date.setText(data.get_date());
trempDialog.time.setText(data.get_time());
trempDialog.extra.setText(data.get_extras());
}
希望有人能帮助我。
谢谢。
您的应用肯定会因 NullPointerException
而崩溃。因为您正在尝试在尚未呈现的 UI 上设置数据。
应该遵循什么步骤?
将数据传递给 DialogFragment,它将以参数的形式显示在 UI 上。
创建回调,当 UI 在 Dialog
上呈现时会通知您。检查这个 Callback to a Fragment from a DialogFragment
.在获得监听器后,您可以在 UI 组件上设置数据。
我个人更喜欢解决方案 1,为此您应该阅读 passing argument to DialogFragment
我在 listview
行中有一个按钮,当我单击它时,我希望打开一个 dialogFragment 并将编辑文本(位于 dialogFragment 内)的文本设置为某个字符串。
问题是:应用到settext方法的那一行就关机了。
这是我用来打开 dialogFragment 并为其设置文本的代码。
public void onClick(View v) {
FragmentManager manager = getFragmentManager();
View parentRow = (View) v.getParent();
ListView listView = (ListView) parentRow.getParent();
final int position = listView.getPositionForView(parentRow);
TrempData data = adapter.getItem(position); //from here im getting the data that i want to set to the edit text.
Addtremp trempDialog = new Addtremp();
trempDialog.show(manager, "Addtremp");
trempDialog.from.setText(data.get_from());
trempDialog.to.setText(data.get_to());
trempDialog.date.setText(data.get_date());
trempDialog.time.setText(data.get_time());
trempDialog.extra.setText(data.get_extras());
}
希望有人能帮助我。
谢谢。
您的应用肯定会因 NullPointerException
而崩溃。因为您正在尝试在尚未呈现的 UI 上设置数据。
应该遵循什么步骤?
将数据传递给 DialogFragment,它将以参数的形式显示在 UI 上。
创建回调,当 UI 在
Dialog
上呈现时会通知您。检查这个 Callback to a Fragment from a DialogFragment .在获得监听器后,您可以在 UI 组件上设置数据。
我个人更喜欢解决方案 1,为此您应该阅读 passing argument to DialogFragment