我有这样的activity_main XML:
<LinearLayout ...>
<EditText android.id="@+id/edit_text"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/edit_message" />
<Button android.id="@+id/my_send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send"
android:onClick="sendMessage" />
</LinearLayout>
主要的java代码是:
public class MainActivity extends Activity {
void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
EditText editText = (EditText) findViewById(R.id.edit_text);
if (editText == null)
Log.v("editText", "null editText");
else
Log.v("editText", "good editText");
}
}
显示正确,我可以看到EditText和Button字段。但是,我总是为editText获取NULL。我读过以前的问题。其中大多数是由于未使用setContentView(R.layout.active_main)这一事实。但我无法找出为什么我的代码有问题。非常感谢任何帮助。
答案 0 :(得分:4)
您的XML存在问题
android:id不是android.id
答案 1 :(得分:2)
您使用的是.
而不是:
。所以请按照以下方式进行更正:
<LinearLayout ...>
<EditText android:id="@+id/edit_text"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:hint="@string/edit_message" />
<Button android:id="@+id/my_send"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button_send"
android:onClick="sendMessage" />
</LinearLayout>