因此,從Android和Java開始,我有這個莫名其妙的錯誤:當達到findViewByID(R.id.answer)時,應用程序失敗並且意外停止消息,但僅當我添加另一個一個代碼。Android應用程序上的findViewById失敗
的代碼如下:
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/site" />
<EditText android:id="@+id/site"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"/>
</LinearLayout>
<!--
<LinearLayout android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/username" />
<EditText android:id="@+id/username"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"/>
</LinearLayout>
-->
<LinearLayout android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/password" />
<EditText android:id="@+id/password"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"/>
</LinearLayout>
<LinearLayout android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/question" />
<EditText android:id="@+id/question"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"/>
</LinearLayout>
<LinearLayout android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/answer" />
<EditText android:id="@+id/answer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"/>
</LinearLayout>
<Button android:id="@+id/confirm"
android:text="@string/confirm"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
</LinearLayout>
onCreate方法
super.onCreate(savedInstanceState);
setContentView(R.layout.keyedit);
setTitle(R.string.edit_entry);
mDbHelper = new KeyRingDbAdapter(this);
mDbHelper.open();
mSiteText = (EditText) findViewById(R.id.site);
//mUsernameText = (EditText) findViewById(R.id.username);
mPasswordText = (EditText) findViewById(R.id.password);
mQuestionText = (EditText) findViewById(R.id.question);
mAnswerText = (EditText) findViewById(R.id.answer);
所以,上述工程和線mAnswerText = (EditText) findViewById(R.id.answer);
分配權對象mAnswerText
。一旦我取消註釋代碼,之前工作過的同一行將失敗。當我在圖形佈局上看到xml時,所有內容都顯示正確。 R文件似乎沒問題(爲了以防萬一,我刪除了它並重新生成)。
任何想法?需要更多信息?
編輯:好吧,尷尬。昨天晚上我回到家,當我沒有注意到這些線條時,這一次它就起作用了。作爲程序員,我有足夠的經驗,我做了足夠的檢查,知道不是我只是取消註釋部分,或者做一些完全愚蠢的事情。雖然它可能與我對Eclipse新手也是如此。不是很酷,因爲現在這個錯誤已經被「神奇地」修復了,而且我並不聰明。
您已經評論了java代碼和xml文件中的元素 - 所以,只要確定,如果您取消註釋*兩個*部分(不僅僅是java代碼中的行),應用程序就會失敗! – 2011-05-26 14:41:05
請發佈完整的logcat錯誤消息。 – Haphazard 2011-05-26 14:45:19
@Andreas_D是的,取消註釋。 – 2011-05-26 14:59:38