EditText getText抛出空指针异常

时间:2016-02-26 16:09:24

标签: android android-layout android-fragments

当我使用EditText中的方法getText()时,我有一个空指针异常。我的班级在哪里,我的事件从Fragment延伸(不知道这是否是这个错误的原因^^

这是我的活动

// EVENT BOUTON Ajouter
        buttonAdd.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                try {
                    String nom = ((EditText) v.findViewById(R.id.nom)).getText().toString();
                    String prenom = ((EditText) v.findViewById(R.id.prenom)).getText().toString();
                    String numero = ((EditText) v.findViewById(R.id.numero)).getText().toString();
                    String groupe = ((Spinner) v.findViewById(R.id.groupeSelection)).getSelectedItem().toString();
                    String ville = ((EditText) v.findViewById(R.id.ville)).getText().toString();
                    ImageView iv = (ImageView) v.findViewById(R.id.profil_picture);
                    Bitmap bitmap = ((BitmapDrawable)iv.getDrawable()).getBitmap();
                    new Contact(nom, prenom, numero, ville, Repertoire.getInstance().getGroupeByName(groupe), bitmap);
                } catch (NullPointerException e) {
                    throw e;
                } finally {
                    FragmentManager fragmentManager = getFragmentManager();
                    fragmentManager.popBackStack();
                }
            }
        });

我使用这个xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:paddingBottom="@dimen/padding"
    android:paddingLeft="@dimen/padding"
    android:paddingRight="@dimen/padding"
    android:paddingTop="32dp"
    app:layout_behavior="@string/appbar_scrolling_view_behavior">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/nom"
        android:textSize="@dimen/text"
        />
    <EditText
        android:id="@+id/nom"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/prenom"
        android:textSize="@dimen/text"
        />
    <EditText
        android:id="@+id/prenom"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/numero"
        android:textSize="@dimen/text"
        />
    <EditText
        android:id="@+id/numero"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/groupe"
        android:textSize="@dimen/text"
        />
    <Spinner
        android:id="@+id/groupeSelection"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@android:drawable/btn_dropdown"
        android:spinnerMode="dropdown" />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/ville"
        android:textSize="@dimen/text"
        />
    <EditText
        android:id="@+id/ville"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</LinearLayout>

1 个答案:

答案 0 :(得分:1)

抛出错误,因为它无法在Clicked View v。

中找到文本ID
v.findViewById

将为您提供按钮视图中的视图...

发布您的整个代码,以获得进一步的帮助。但是它会返回null,因为按钮没有任何编辑文本