Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/197.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
未在textview Android中填充数据_Android_Eclipse_Android Layout - Fatal编程技术网

未在textview Android中填充数据

未在textview Android中填充数据,android,eclipse,android-layout,Android,Eclipse,Android Layout,我是android应用程序开发的初学者。首先,我尝试用下面的代码开发一个小应用程序。没有编译时或运行时错误。但它既不接收我的输入,也不填充输出 package com.example.myfirstapp; import android.os.Bundle; //import android.view.View.OnClickListener; import android.app.Activity; import android.view.Menu; import android.

我是android应用程序开发的初学者。首先,我尝试用下面的代码开发一个小应用程序。没有编译时或运行时错误。但它既不接收我的输入,也不填充输出

package com.example.myfirstapp;

import android.os.Bundle;
//import android.view.View.OnClickListener; 
import android.app.Activity;  
import android.view.Menu;  
import android.view.View;  
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;  
import android.widget.RadioButton;  
import android.widget.TextView;
/*import android.widget.Toast;
import android.app.Activity;
import android.view.Menu;*/

public class MainActivity extends Activity implements OnClickListener{
    //private EditText text;  
    RadioButton mileButton,kmhButton ;
    TextView textview1,textview2;
    Button calcButton;
    private View.OnClickListener droidTapListener;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        System.out.println("HIIIIIIIIII");

        setContentView(R.layout.activity_main);
        //text = (EditText) findViewById(R.id.textView1); 
        }



    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        //getMenuInflater().inflate(R.menu.main, menu); 
        return true;
    }

    public void calculate() {  

   mileButton = (RadioButton) findViewById(R.id.radio0);  //radiobutton objects
         kmhButton = (RadioButton) findViewById(R.id.radio1);  

         calcButton = (Button) findViewById(R.id.button1);     //button obj
        calcButton.setOnClickListener(droidTapListener);   //setting up click listeners.

        TextView textview1 = (TextView) findViewById(R.id.textView1);
        TextView textview2 = (TextView) findViewById(R.id.textView2);
        /*if(text.getText().length()==0)
            System.out.println("Empty Value");*/

        if(textview1.getText().length()==0)
            System.out.println("Enter a valid input.");

        /*Toast.makeText(this, "enter a valid number", Toast.LENGTH_LONG)  
        .show(); */

        double inputValue = Double.parseDouble(textview1.getText().toString()); 
        if (mileButton.isChecked()) {  
            //text.setText(String.valueOf(convertToMiles(inputValue))); 
            double res= convertToMiles(inputValue);
            String finalresult = new Double(res).toString();
            textview2.setText(finalresult);

            System.out.println("RESULT"+finalresult);

            // uncheck "to miles" Button  
            mileButton.setChecked(false);  
            // check "to km/h" Button  
            kmhButton.setChecked(true);  
        } else { /* if kmhButton isChecked() */  
            //text.setText(String.valueOf(convertToKmh(inputValue))); 
            double res= convertToKmh(inputValue);
            String finalresult = new Double(res).toString();
            textview2.setText(finalresult);

            System.out.println("RESULT"+finalresult);

            // uncheck "to km/h" Button  
            kmhButton.setChecked(false);  
            // check "to miles" Button  
            mileButton.setChecked(true);  

        }  
    } 



private double convertToMiles(double inputValue) {  
    // convert km/h to miles 
    double res=inputValue * 1.609344;
    return res;

   //return (inputValue * 1.609344);  
}  

private double convertToKmh(double inputValue) {  
    // convert miles to km/h  
    return (inputValue * 0.621372);  
    }

public void onClick(View v) {
    calculate();
}
}

您已经在计算方法中设置了onclickListener。意味着除非您的计算方法未被调用,否则onClickListener将不会调用,如果onClickListener未被注册,则不会调用calculate方法

这样做

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    System.out.println("HIIIIIIIIII");

    setContentView(R.layout.activity_main);
    //text = (EditText) findViewById(R.id.textView1); 

     calcButton = (Button) findViewById(R.id.button1);    
    calcButton.setOnClickListener(droidTapListener);  

    }

首先,您应该在onCreate中初始化视图组件,所以在创建时将这段代码移入,并在文本视图声明此变量之前删除TypeDefinition

   mileButton = (RadioButton) findViewById(R.id.radio0);  //radiobutton objects
   kmhButton = (RadioButton) findViewById(R.id.radio1);  

   calcButton = (Button) findViewById(R.id.button1);     //button obj
   calcButton.setOnClickListener(this);   //you droidTapListener isn't initialize and you implements clickListener so use this for listening this event.
   textview1 = (TextView) findViewById(R.id.textView1);
   textview2 = (TextView) findViewById(R.id.textView2); 

不要忘记为onClick函数添加@override,这样点击按钮将运行onClick函数,从而运行计算函数。

您没有在onCreate中调用计算,也没有使用Toast而不是println..并使用按钮设置onClickListener..点击按钮后,您可以调用计算方法并检查文本idfill或null:首先调用此calculate on onCreate方法,并更改此字符串finalresult=String.valueOfres;你似乎误解了Android编程的一些核心概念。为什么不读一本书来学习一些基础知识呢?专业的安卓4应用程序开发是由Reto Meier编写的还是类似的在线课程?谢谢大家!但是,在尝试调用onCreate上的calculate时,我的应用程序被中止。在onCreate上初始化对象时,它们不就成为该func的本地对象吗?在calculate中使用这些对象会导致错误:\n您已声明活动变量RadioButton mileButton,kmhButton;文本视图文本视图1、文本视图2;按钮calcButton;因此,您可以在活动onCreate、calculate等的任何地方使用它。重点是关于您的calcButton侦听器使用它并重写onClick方法