Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android活动中未调用主方法_Java_Android_Android Lifecycle - Fatal编程技术网

Java Android活动中未调用主方法

Java Android活动中未调用主方法,java,android,android-lifecycle,Java,Android,Android Lifecycle,所以我有这段代码,它在java(android开发)中解决了二次方程,它什么都没做!!!!当我按下按钮时,它根本没有给出答案。。。我甚至不能检查它是否做得正确 import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.widget.Button; imp

所以我有这段代码,它在java(android开发)中解决了二次方程,它什么都没做!!!!当我按下按钮时,它根本没有给出答案。。。我甚至不能检查它是否做得正确

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.support.v4.app.NavUtils;

public class QuadraticEquationSolver extends Activity {
public void main(String[] args){

    Button calc = (Button) findViewById(R.id.Calculate);
    calc.setOnClickListener(new View.OnClickListener() {

        public void onClick(View arg0) {
            EditText X2 = (EditText)findViewById(R.id.X2);
            EditText X = (EditText)findViewById(R.id.X);
            EditText Num = (EditText)findViewById(R.id.Num);
            TextView ans= (TextView) findViewById(R.id.finalans);
            double x2 = Integer.parseInt(X2.getText().toString());
            double x = Integer.parseInt(X.getText().toString());
            double num = Integer.parseInt(Num.getText().toString());
            double finalNum = ((x*-1) + (Math.sqrt((x*x)-(4*x*num))))/(2*x2);
            ans.setText("answer: " + finalNum);

        }
    });
}
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_quadratic_equation_solver);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.activity_quadratic_equation_solver, menu);
    return true;
}

我不做任何android编程,但我怀疑android会不会调用你的主要方法。此主方法的内容可能必须在onCreate方法中。

onCreate()
是Android中与之相当的
main()
。您的
main()
函数将永远不会被调用。
main()
的内容应该放在
onCreate()

中首先,欢迎来到Android开发。我强烈建议您首先阅读SDK文档站点上的和相关的指南,因为它们将对您的新工作有很大帮助

Android不使用单一入口点(即main方法),因此不会调用您的代码。您需要将所有代码移动到
onCreate()


只是想知道你是如何测试这个的?通常,您应该在onCreate()中创建按钮并设置侦听器
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_quadratic_equation_solver);

    Button calc = (Button) findViewById(R.id.Calculate);
    calc.setOnClickListener(new View.OnClickListener() {

        public void onClick(View arg0) {
            EditText X2 = (EditText)findViewById(R.id.X2);
            EditText X = (EditText)findViewById(R.id.X);
            EditText Num = (EditText)findViewById(R.id.Num);
            TextView ans= (TextView) findViewById(R.id.finalans);
            double x2 = Integer.parseInt(X2.getText().toString());
            double x = Integer.parseInt(X.getText().toString());
            double num = Integer.parseInt(Num.getText().toString());
            double finalNum = ((x*-1) + (Math.sqrt((x*x)-(4*x*num))))/(2*x2);
            ans.setText("answer: " + finalNum);

        }
    });
}