SetText的EditText NullPointerException

israel_hill

我正在尝试设置EditText的文本,但出现了空指针异常。我已经看到其他帖子回答了这个问题,但是我正在扩展ActionBarActivity,所以我不能简单地通过使用诸如EditText f1 =(EditText)getActivity(). findViewById(R.id.field1)之类的东西来解决此问题

public class SwitchURL extends ActionBarActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_switch_url);



        Intent intent = getIntent();
        getActionBar().setDisplayHomeAsUpEnabled(true);

        EditText f1 = (EditText) findViewById(R.id.field1);
        EditText f2 = (EditText)findViewById(R.id.field2);

        SharedPreferences pref1 = getSharedPreferences("textField1", 0);
        SharedPreferences pref2 = getSharedPreferences("textField1", 0);
        Log.v("", pref1.getString("textField1", "DNE"));
        Log.v("", pref2.getString("textField2", "DNE"));

        f1.setText("hello", TextView.BufferType.EDITABLE);


        if (savedInstanceState == null) {
            getSupportFragmentManager().beginTransaction()
                    .add(R.id.container, new PlaceholderFragment()).commit();
        }

    }

我知道我正在获取NullPointerException,因为我没有访问包含此editText的正确视图。我有一个单击按钮时会调用的方法,它可以正常工作。

public void changeUrl(View v) {
    EditText f1 = (EditText)findViewById(R.id.field1);
    EditText f2 = (EditText)findViewById(R.id.field2);

    SharedPreferences pref1 = getSharedPreferences("textField1", 0);
    SharedPreferences pref2 = getSharedPreferences("textField1", 0);
    SharedPreferences.Editor edit1 = pref1.edit();
    SharedPreferences.Editor edit2 = pref2.edit();

    edit1.putString("textField1", f1.getText().toString());
    edit2.putString("textField2", f2.getText().toString());
    edit1.commit();
    edit2.commit();

    Log.v("", pref1.getString("textField1", "Fail"));
    Log.v("", pref2.getString("textField2", "Fail"));   
}

知道如何访问此视图以便设置editText的文本吗?这是xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.android_native.SwitchURL$PlaceholderFragment"
    android:background="@color/white"
    android:orientation="vertical"
    android:id="@+id/contain" >

    <TextView
        android:id="@+id/urlScreenTitle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Change URL" 
        android:textColor="@color/black"
        android:textSize="30sp"
        android:layout_gravity="center"/>

    <EditText
        android:id="@+id/field1"
        android:layout_width="fill_parent"
        android:layout_height="55dp"
        android:text="http://stage1.onshift.com"
        android:textColor="@color/black"
        android:textSize="17sp"
        android:background="@drawable/switch_url_fields_background"
        android:inputType="text"
        android:layout_gravity="center"
        android:layout_marginTop="18dp"
        android:paddingLeft="7dp"/>

    <EditText
        android:id="@+id/field2"
        android:layout_width="fill_parent"
        android:layout_height="55dp"
        android:text="http://stage.v2.onshift.com"
        android:textColor="@color/black"
        android:textSize="17sp"
        android:background="@drawable/switch_url_fields_background"
        android:inputType="text"
        android:layout_gravity="center"
        android:layout_marginTop="9dp"
        android:paddingLeft="7dp"/>

    <Button
        android:id="@+id/switchUrlButton"
        android:layout_width="fill_parent"
        android:layout_height="55dp"
        android:text="Change URL"
        android:textColor="@color/white"
        android:textSize="22sp"
        android:background="@drawable/switch_url_button"
        android:inputType="text"
        android:layout_gravity="center"
        android:layout_marginTop="13dp"
        android:gravity="center"
        android:onClick="changeUrl"/>

</LinearLayout> 
拉里·斯拉特(Larry Slate)

看起来您正在尝试从活动中访问片段布局中定义的视图。活动在创建时不知道片段布局。将获取视图并管理其内容的代码移动到片段的onCreatView()中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

setText到EditText时发生NullPointerException-onDateSet

来自分类Dev

NullPointerException setText片段

来自分类Dev

label.setText NullPointerException

来自分类Dev

NullPointerException on TextView setText

来自分类Dev

textView setText()NullPointerException

来自分类Dev

setText方法上的NullPointerException

来自分类Dev

NullPointerException on TextView setText

来自分类Dev

textView setText()NullPointerException

来自分类Dev

NullPointerException:DialogAlert中的EditText

来自分类Dev

java.lang.nullpointerexception:尝试在null对象引用上调用void android.widget.EditText.setText(java.lang.CharSequence)

来自分类Dev

在PopupWindow中ArrayList的SetText NullPointerException。安卓

来自分类Dev

JavaFx-TextField.setText()引发nullpointerException

来自分类Dev

使用EditText时发生NullPointerException

来自分类Dev

使用EditText时发生NullPointerException

来自分类Dev

无法使EditText显示.setText

来自分类Dev

带有EditText的java.lang.NullPointerException

来自分类Dev

如果setText(),则EditText删除焦点

来自分类Dev

如果setText(),则EditText删除焦点

来自分类Dev

Android EditText中的SetText错误

来自分类Dev

EditText setText() 不起作用

来自分类Dev

使用KeyListener来使用setText时发生NullPointerException

来自分类Dev

Android:方法中setText处的java.lang.NullPointerException

来自分类Dev

尝试在Text对象上使用.setText时发生NullPointerException

来自分类Dev

EditText上的setText无法正常工作

来自分类Dev

EditText.setText()空指针异常

来自分类Dev

返回java NullPointerException将edittext解析为int

来自分类Dev

Double.parseDouble(EditText)始终抛出NUllPointerException。怎么解决?

来自分类Dev

NullPointerException:尝试调用虚拟方法'void android.widget.TextView.setText

来自分类Dev

ANDROID适配器-getView方法处的NullPointerException(行:textView.setText())

Related 相关文章

  1. 1

    setText到EditText时发生NullPointerException-onDateSet

  2. 2

    NullPointerException setText片段

  3. 3

    label.setText NullPointerException

  4. 4

    NullPointerException on TextView setText

  5. 5

    textView setText()NullPointerException

  6. 6

    setText方法上的NullPointerException

  7. 7

    NullPointerException on TextView setText

  8. 8

    textView setText()NullPointerException

  9. 9

    NullPointerException:DialogAlert中的EditText

  10. 10

    java.lang.nullpointerexception:尝试在null对象引用上调用void android.widget.EditText.setText(java.lang.CharSequence)

  11. 11

    在PopupWindow中ArrayList的SetText NullPointerException。安卓

  12. 12

    JavaFx-TextField.setText()引发nullpointerException

  13. 13

    使用EditText时发生NullPointerException

  14. 14

    使用EditText时发生NullPointerException

  15. 15

    无法使EditText显示.setText

  16. 16

    带有EditText的java.lang.NullPointerException

  17. 17

    如果setText(),则EditText删除焦点

  18. 18

    如果setText(),则EditText删除焦点

  19. 19

    Android EditText中的SetText错误

  20. 20

    EditText setText() 不起作用

  21. 21

    使用KeyListener来使用setText时发生NullPointerException

  22. 22

    Android:方法中setText处的java.lang.NullPointerException

  23. 23

    尝试在Text对象上使用.setText时发生NullPointerException

  24. 24

    EditText上的setText无法正常工作

  25. 25

    EditText.setText()空指针异常

  26. 26

    返回java NullPointerException将edittext解析为int

  27. 27

    Double.parseDouble(EditText)始终抛出NUllPointerException。怎么解决?

  28. 28

    NullPointerException:尝试调用虚拟方法'void android.widget.TextView.setText

  29. 29

    ANDROID适配器-getView方法处的NullPointerException(行:textView.setText())

热门标签

归档