我正在尝试输入“每加仑英里数”,然后仅将该数字重新打印给用户。我读了无数线程,并观看了多个视频,但我仍然遇到相同的错误。我对android开发非常陌生,因此非常感谢您的帮助。
package com.example.frank.trialapp;
import android.os.Bundle;
import android.sax.TextElementListener;
import android.support.annotation.IdRes;
import android.support.annotation.Nullable;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.View;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import org.w3c.dom.Text;
public class MainActivity extends AppCompatActivity {
private double num1;
private EditText MilesPerGallon;
private TextView MPG;
Button btnCalculate;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
MilesPerGallon = (EditText)findViewById(R.id.txtBox1);
btnCalculate = (Button)findViewById(R.id.btnCalculate);
btnCalculate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(MilesPerGallon.getText().toString().length() > 0 ) {
num1 =
Double.parseDouble(MilesPerGallon.getText().toString());
MPG.setText(Double.toString(num1));
}
else MPG.setText("failure");
}
});
FloatingActionButton fab = (FloatingActionButton)
findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action",
Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
}
@Override
public View findViewById(@IdRes int id) {
return super.findViewById(id);
}
问题出在MPG.setText(Double.toString(num1));中。我只是不知道如何解决...
错误日志:
致命异常:主进程:com.example.frank.trialapp,PID:8293 java.lang.NullPointerException在com.example.frank.trialapp.MainActivity $ 1.onClick(MainActivity.java:42)在android.view.View.performClick (View.java:4438)在android.view.View $ PerformClick.run(View.java:18422)在android.os.Handler.handleCallback(Handler.java:733)在android.os.Handler.dispatchMessage(Handler。 java:95),位于android.os.Looper.loop(Looper.java:136),位于java.lang.reflect.Method.invokeNative(Native Method),位于android.app.ActivityThread.main(ActivityThread.java:5017) .lang.reflect.Method.invoke(Method.java:515)位于com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:779)位于com.android.internal.os.ZygoteInit.main(ZygoteInit .java:595),请访问dalvik.system.NativeStart.main(本机方法)
您需要像这样初始化您TextView
的onCreate
MPG= (TextView)findViewById(R.id.yourtextview);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句