Просматривайте учебное пособие по ссылке ниже, чтобы иметь простое приложение для Android с несколькими действиями.Приложение Сбой при подключении к действию
https://developer.android.com/training/basics/firstapp/starting-activity.html
Я следовал инструкциям, как указано в руководстве андроида, я бегу в NullPointer Exception на EditText Widget,
java.lang.NullPointerException: Attempt to invoke virtual method 'android.text.Editable android.widget.EditText.getText()' on a null object reference
Ниже мой MainActivity.java где исключение, как EditText возвращает Null, хотя я предполагаю, что я проводной его в правильном направлении,
public class MainActivity extends AppCompatActivity {
public final static String EXTRA_MESSAGE = "com.my.application.message";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
public void sendMessage(View view){
Intent intent = new Intent(this , DisplayMessageActivity.class);
EditText editText;
editText = (EditText) view.findViewById(R.id.edit_message);
System.out.println("the values is "+ editText);
String message = editText.getText().toString();
intent.putExtra(EXTRA_MESSAGE,message);
startActivity(intent);
}
}
И ниже является activity_main.xml,
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<EditText android:id="@+id/edit_message"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:hint="@string/edit_message" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/do_send"
android:onClick="sendMessage"/>
</LinearLayout>
Любые указания здесь, чтобы пройти мимо этого?
'EditText' находится в макете действий вместо' view' (который является экземпляром щелчка View (в вашем случае это Button)), поэтому просто используйте его без 'view', например:' editText = (EditText) findViewById (R.id.edit_message); ' –
, где вы назвали свой« sendMessage »и не используете« view ». , инициализируйте без этого. –
@ ρяσѕρєяK является правильным. –