EditText的setText时为空指针

时间:2012-03-22 05:16:41

标签: android

这是我的代码:

EditText editCategoryName, editBrandName;
    private ArrayAdapter<String> myAdapter1, myAdapter2;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
//      mylist = new ArrayList<HashMap<String, String>>();
//      mylist2 = new ArrayList<HashMap<String, String>>();
        myList1 = new ArrayList<String>();
        myList2 = new ArrayList<String>();
        editCategoryName = (EditText)findViewById(R.id.editCategoryName);
        editBrandName = (EditText)findViewById(R.id.editBrandName);
        editCategoryName.setText("Google is your friend.", TextView.BufferType.EDITABLE);

<EditText
        android:id="@+id/editCategoryName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="請輸入分類名稱"
        android:singleLine="true" >
    </EditText>

    <TextView
        android:id="@+id/textSpinnerBrand"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:hint="hint" />

    <Spinner
        android:id="@+id/spinnerBrand"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <EditText
        android:id="@+id/editBrandName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="hint"
        android:singleLine="true" >
    </EditText>

空指针错误显示在行中:

editCategoryName.setText("Google is your friend.", TextView.BufferType.EDITABLE);

我不知道为什么。请帮忙..

4 个答案:

答案 0 :(得分:5)

您尚未定义setContetnView(R.layout.xyz); 在oncreate方法。

答案 1 :(得分:1)

super.onCreate(savedInstanceState);之后 这一行你忘了setContentView(R.layout.<xml file name>)

答案 2 :(得分:1)

你忘了定义setContentView(R.layout.you_xml_name);在onCreate方法。

EditText editCategoryName, editBrandName;
private ArrayAdapter<String> myAdapter1, myAdapter2;

@Override
public void onCreate(Bundle savedInstanceState) {
    setContentView(R.layout.you_xml_name);
    super.onCreate(savedInstanceState);
    myList1 = new ArrayList<String>();
    myList2 = new ArrayList<String>();
    editCategoryName = (EditText)findViewById(R.id.editCategoryName);
    editBrandName = (EditText)findViewById(R.id.editBrandName);
    editCategoryName.setText("Google is your friend.", TextView.BufferType.EDITABLE);

答案 3 :(得分:1)

给出setContentView(“你的布局文件的id”);在使用xml文件中的编辑文本和微调器的id之前。否则,当您尝试使用id时,它将显示空指针,该ID是您未使用的XML布局的一部分。