Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.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 单击单个按钮后从多个EditText获取数据_Java_Android_Android Edittext - Fatal编程技术网

Java 单击单个按钮后从多个EditText获取数据

Java 单击单个按钮后从多个EditText获取数据,java,android,android-edittext,Java,Android,Android Edittext,我是这个论坛的新手,需要你们的帮助。我一直在开发一个Android应用程序,以发现感应电机的效率。我是Android应用开发新手,所以我需要你的帮助 我已经创建了布局,我有多个编辑文本来获取用户的输入,我所要做的就是按下一个按钮从编辑文本中获取输入。有人能帮我做java编码吗 布局的XML部分如下所示: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http

我是这个论坛的新手,需要你们的帮助。我一直在开发一个Android应用程序,以发现感应电机的效率。我是Android应用开发新手,所以我需要你的帮助

我已经创建了布局,我有多个编辑文本来获取用户的输入,我所要做的就是按下一个按钮从编辑文本中获取输入。有人能帮我做java编码吗

布局的XML部分如下所示:

<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="vertical"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".StartingPoint" >

   <TextView 
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:text="THE EFFICIENCY IS 0" 
       android:gravity="center"
       android:textSize="25dp"      
       />

    <EditText 
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:hint="ENTER VOLTAGE"
       android:gravity="center"
       android:id="@+id/etVoltage"
       />

   <EditText 
       android:layout_width="fill_parent"
       android:layout_height="wrap_content" 
       android:hint="ENTER CURRENT"
       android:gravity="center"
       android:id="@+id/etCurrent"
       />

   <EditText 
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:hint="ENTER FREQUENCY"
       android:gravity="center"
       android:id="@+id/etFrequency"
       />

   <EditText 
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:hint="ENTER STATOR PHASE RESISTANCE"
       android:gravity="center"
       android:id="@+id/etStatorresistance"
       />

   <EditText 
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:hint="ENTER NO LOAD POWER"
       android:gravity="center"
       android:id="@+id/etLoadpower"
       />

   <Button 
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:text= "FIND EFFICIENCY"
       android:gravity="center"
       android:id="@+id/bFind"
       />

</LinearLayout>
我对这种编码的想法表示怀疑

  • 在这里,findViewbyId对edittext的使用是否正确,我想使用edittext从用户那里获取输入值

  • 在这个Java编码中,我应该把代码行放在哪里,以便从所有editText中获取数据

  • 我想得到的结果是电机的效率,只需按下一个按钮,在这个程序中“找到效率”

  • 在编辑文本中输入数据后,是否自动获取输入到编辑文本中的数据,或者是否需要添加一些按钮来获取数据


  • 请帮帮我,伙计们

    用这个代码替换你的代码。它认为这个代码可以完成你的工作

    1.您已正确声明了Edittext引用,但不必在代码中再次声明。在引用Edittext的onCreate()方法之前,可以使用该方法。这可能会给你一个相当大的句柄,比如说global,你可以在你的This类中随时随地使用它

    EditText当前=(EditText)findViewById(R.id.etCurrent)

    但是像这样声明,您无法在按钮内或任何地方获取此EditText值,因为此EditText的作用域有限

    当前=(EditText)findViewById(R.id.etCurrent)

    2.当你点击按钮时,你想得到EditText值。你应该像我在onClick()中做的那样做

    3.当我在onClick()中获取字符串中的值时。在LogCat中显示它们。在这里显示结果

    4.当你点击按钮时,每个编辑文本中的所有数据都将以字符串形式显示。现在做你想做的任何事情

         package com.blitzkrieg.vishwas;
    
         import android.app.Activity;
         import android.os.Bundle;
         import android.util.Log;
         import android.view.Menu;
         
        import android.view.View;
         import android.widget.Button;
         import android.widget.EditText;
    
          public class StartingPoint extends Activity {
    
    EditText current, voltage, frequency, loadpower, statorresistance; 
    Button find;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_starting_point);
    
         current = (EditText) findViewById(R.id.etCurrent);
         voltage = (EditText) findViewById(R.id.etVoltage);
         frequency= (EditText)findViewById(R.id.etFrequency);
         loadpower= (EditText)findViewById(R.id.etLoadpower);
         statorresistance= (EditText)findViewById(R.id.etStatorresistance);
    
        Button find = (Button) findViewById(R.id.bFind);
        find.setOnClickListener(new View.OnClickListener() {
    
            @Override
            public void onClick(View arg0) {
                /* This code get the values from edittexts  */
           String currentvalue = current.getText().toString();
           String voltagevalue = voltage.getText().toString();
           String frequencyvalue = frequency.getText().toString();
           String loadpowervalue = loadpower.getText().toString();
           String statorresistancevalue = statorresistance.getText().toString();
           
           /*To check values what user enters in Edittexts..just show in logcat */ 
           Log.d("currentvalue",currentvalue);
           Log.d("voltagevalue",voltagevalue);
           Log.d("frequencyvalue",frequencyvalue);
           Log.d("loadpowervalue",loadpowervalue);
           Log.d("statorresistancevalue",statorresistancevalue);
           
            }
        });
        }
    
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.starting_point, menu);
        return true;
    }
    
       }
    

    谢谢你的帮助,现在你能帮我实现这个公式吗?假设我发现铜损耗和THA等于(3*电流^2*电阻),那么如何以及在编码的哪个部分实现它?稍后,我将使用这个值,即铜损耗来查找其他值。在Onclick内,但在logcat之后。。Double loss=Math.pow(3*Double.parseDouble(currentvalue),2*Double.parseDouble(statorresistancevalue));
         package com.blitzkrieg.vishwas;
    
         import android.app.Activity;
         import android.os.Bundle;
         import android.util.Log;
         import android.view.Menu;
         
        import android.view.View;
         import android.widget.Button;
         import android.widget.EditText;
    
          public class StartingPoint extends Activity {
    
    EditText current, voltage, frequency, loadpower, statorresistance; 
    Button find;
    
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_starting_point);
    
         current = (EditText) findViewById(R.id.etCurrent);
         voltage = (EditText) findViewById(R.id.etVoltage);
         frequency= (EditText)findViewById(R.id.etFrequency);
         loadpower= (EditText)findViewById(R.id.etLoadpower);
         statorresistance= (EditText)findViewById(R.id.etStatorresistance);
    
        Button find = (Button) findViewById(R.id.bFind);
        find.setOnClickListener(new View.OnClickListener() {
    
            @Override
            public void onClick(View arg0) {
                /* This code get the values from edittexts  */
           String currentvalue = current.getText().toString();
           String voltagevalue = voltage.getText().toString();
           String frequencyvalue = frequency.getText().toString();
           String loadpowervalue = loadpower.getText().toString();
           String statorresistancevalue = statorresistance.getText().toString();
           
           /*To check values what user enters in Edittexts..just show in logcat */ 
           Log.d("currentvalue",currentvalue);
           Log.d("voltagevalue",voltagevalue);
           Log.d("frequencyvalue",frequencyvalue);
           Log.d("loadpowervalue",loadpowervalue);
           Log.d("statorresistancevalue",statorresistancevalue);
           
            }
        });
        }
    
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.starting_point, menu);
        return true;
    }
    
       }