【问题标题】:android EditText onPause in fragmentandroid EditText onPause在片段中
【发布时间】:2013-06-23 14:27:02
【问题描述】:

我发布这个问题是因为我真的不明白发生了什么:

我有一个使用片段实现的 ViewPager 的选项卡布局,一切都运行良好,但我正在努力解决一个非常奇怪的行为:在 onPause 片段的方法中,我需要对 EditText 值进行一些检查,但是读取的值来自EditText 的 getText 方法不正确:readen 值与我放入 xml 中的值相同,即使我更改了它。所以,如果在我放的 xml 中

android:text="ABCD" 

然后当我在运行时将此值更改为“DCBA”或任何其他值时,在片段的 onPause 方法中使用以下代码

((EditText)getView.findViewById(R.id.myEdittext)).getText().toString()

总是返回“ABCD”。

如果我单击按钮运行相同的代码,则值被正确读取

我错过了什么吗???

【问题讨论】:

    标签: android android-fragments android-edittext onpause fragment-tab-host


    【解决方案1】:

    您不应该将 ID 传递给 findViewById 吗?

    findViewById(R.id.my_edit_text)
    

    编辑:

    好的,试试这个:

    ((EditText)findViewById(R.id.myEdittext)).getText().toString();
    

    【讨论】:

    • @SimonVeloper 您确定 id 是正确的并且您正在输入正确的编辑文本吗?尝试不使用 getView,我更新了答案
    • 是的,我 100% 确定,因为这是我在该片段中唯一的 EditText,我无法删除 getView,因为片段没有 findViewById 方法
    • 是的,正如问题中所写的那样
    • 等一下,你的editText的值在onPause之前和onPause之后都是正确的,但是在onPause期间不正确?
    • 这太奇怪了。 onResume 中的值是什么?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多