Android Studio:FATAL EXCEPTION:获取用户输入时的主要内容

时间:2017-06-16 02:17:36

标签: java android

我试图使用用户输入名称以供日后使用,但是一旦我运行应用程序,这将被关闭,说不幸的是你的应用程序已停止。我提供了Main活动,Layout xml和android清单代码。请有人回答这个问题。我是android的新手,无法弄清楚错误。

Main_activity

package rupakthapa.droiddynasty.com.interactivestory2;

import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

import static android.R.attr.duration;
import static android.R.attr.name;

public class MainActivity extends AppCompatActivity {
    private EditText mNameField;
    private Button mButton;


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    mNameField = (EditText) findViewById(R.id.nameField);
    mButton = (Button) findViewById(R.id.startButton);

  mButton.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {

          String a= mNameField.getText().toString();
          Context context = getApplicationContext();
          int length = Toast.LENGTH_LONG;
          Toast toast = Toast.makeText(context, a, length);
          toast.show();
      }
  });


}

}

XML

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/activity_main"
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"
tools:context="rupakthapa.droiddynasty.com.interactivestory2.MainActivity">

<ImageView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    app:srcCompat="@mipmap/ic_launcher"
    android:id="@+id/imageView"
    android:adjustViewBounds="true"
    android:scaleType="fitXY"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_marginBottom="149dp"
    android:contentDescription="startImage"/>

<TextView
    android:layout_width="match_parent"
    android:id="@+id/nameField"
    android:hint="Enter YOur Name"
    android:layout_above="@+id/startButton"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_marginBottom="11dp"
    android:maxLength="30"
    android:layout_marginLeft="10dp"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:layout_height="wrap_content"
    android:textSize="16sp"/>

<Button
    android:text="Start your adventure"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/startButton"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"/>
</RelativeLayout>

Android Manifest

<?xml version="1.0" encoding="utf-8"?>
<manifest package="rupakthapa.droiddynasty.com.interactivestory2"
      xmlns:android="http://schemas.android.com/apk/res/android">

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity
        android:name=".MainActivity"
        android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN"/>

            <category android:name="android.intent.category.LAUNCHER"/>
        </intent-filter>
    </activity>
</application>

</manifest>

1 个答案:

答案 0 :(得分:0)

这里有一个问题。您的布局中没有EditText。

mNameField = (EditText) findViewById(R.id.nameField);

在布局中,您应该将TextView更改为EditText

<EditText
    android:layout_width="match_parent"
    android:id="@+id/nameField"
    android:hint="Enter YOur Name"
    android:layout_above="@+id/startButton"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_marginBottom="11dp"
    android:maxLength="30"
    android:layout_marginLeft="10dp"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true"
    android:layout_height="wrap_content"
    android:textSize="16sp"/>