[英]Android Tutorial: edit_message cannot be resolved or is not a field
[英]First Android App. edit_message cannot be resolved or is not a field
我做了很多谷歌搜索,但其他人似乎沒有像我一樣的問題。完整的錯誤是:
此行有多個標記。
-Line斷點:MainActivity - sendMessage(View) 我不知道這意味着什么
-edit_message caanot可以解決或不是字段
這是獲得錯誤的代碼行。
EditText editText = (EditText) findViewById(R.id.edit_message);
這是我的activity_main.xml
<EditText android:id="@+id/edit_message"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="@string/edit_message"/>
這是完整的MainActivty.java
import android.R;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.NavUtils;
import android.view.MenuItem;
import android.view.View;
import android.widget.EditText;
public class MainActivity extends Activity {
public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list_item);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
public void sendMessage(View view) {
Intent intent = new Intent(this, DisplayMessageActivity.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE, message);
startActivity(intent);
}
}
我認為你使用了錯誤的布局。 您將該字段放在activity_main.xml
,但是您將內容視圖設置為activity_list_item
。
除掉:
import android.R;
線。
這告訴Android使用內部資源R.java文件,而不是你的項目。 刪除它將解決問題。 這樣做之后你可能不得不去Project -> Clean
。
移動:
public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_list_item);
}
到DisplayMessageActivity.java
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.