Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/218.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 Android中获取值_Java_Android_Intellij Idea_Android Edittext - Fatal编程技术网

Java 在EditText Android中获取值

Java 在EditText Android中获取值,java,android,intellij-idea,android-edittext,Java,Android,Intellij Idea,Android Edittext,我在获取程序的editText中的值时遇到问题。我在textView中设置该值,以便查看代码是否获得该值。但不幸的是,它显示了如下内容: android.widget。EditText@410e5a58->@sign之后的数字在emulator中每次运行时都会更改 为什么会发生这种情况?这是我的代码: package com.example.ITax; import android.content.Intent; import android.os.Bundle; import android

我在获取程序的editText中的值时遇到问题。我在textView中设置该值,以便查看代码是否获得该值。但不幸的是,它显示了如下内容:

android.widget。EditText@410e5a58->@sign之后的数字在emulator中每次运行时都会更改

为什么会发生这种情况?这是我的代码:

package com.example.ITax;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

/**
* Created with IntelliJ IDEA.
* User: Karla Mae Jaro
* Date: 12/3/12
* Time: 3:58 PM
* To change this template use File | Settings | File Templates.
*/
public class AnnualComputation extends MyActivity
{
String civil_status2;

public void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.annual_computation);

    Bundle extras = getIntent().getExtras();

    if(extras != null)
    {
        civil_status2 = extras.getString("user_status");
    }

    final Button btn_compute = (Button) findViewById(R.id.btn_compute_from_annual);
    final Button btn_back = (Button) findViewById(R.id.btn_back_from_annual_computation);

    btn_back.setOnClickListener(new Button.OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            Intent i = new Intent(getApplicationContext(), OpenChoices.class);
            startActivity(i);
        }
    });

    btn_compute.setOnClickListener(new Button.OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            final EditText net_salary = (EditText) findViewById(R.id.et_net_annual);
            final EditText tax_due = (EditText) findViewById(R.id.et_taxdue);
            final EditText tax_exe = (EditText) findViewById(R.id.et_taxexemption);

            final TextView txt3 = (TextView) findViewById(R.id.textView3);
            final TextView txt4 = (TextView) findViewById(R.id.textView4);
            final TextView txt5 = (TextView) findViewById(R.id.textView5);
            final TextView txt6 = (TextView) findViewById(R.id.textView6);
            final TextView txt7 = (TextView) findViewById(R.id.textView7);
            final TextView txt8 = (TextView) findViewById(R.id.textView8);


            double netSalary, taxDue, rate = 0, exemption = 0, additional = 0, lowerlimit = 0, total;
            String ns, td, r, e, a, t;

            ns = net_salary.getText().toString();
            netSalary = Double.parseDouble(ns);

            /* Getting the tax exemption */

            if ("SME".equals(civil_status2))
            {
                exemption = 50000;
            }

            else if ("SM1".equals(civil_status2))
            {
                exemption = 25000;
            }

            else if ("SM2".equals(civil_status2))
            {
                exemption = 50000;
            }

            else if ("SM3".equals(civil_status2))
            {
                exemption = 75000;
            }

            else if ("SM4".equals(civil_status2))
            {
                exemption = 100000;
            }

            /* Getting the rate, additional, lowerlimit */

            if(netSalary <= 10000)
            {
                rate = 0.05;
            }

            else if((netSalary > 10000) && (netSalary <=30000))
            {
                rate = 0.1;
                additional = 5000;
                lowerlimit = 10000;
            }

            else if ((netSalary > 30000) && (netSalary <= 70000))
            {
                rate = 0.15;
                additional = 2500;
                lowerlimit = 30000;
            }

            else if((netSalary > 70000) && (netSalary <= 14000))
            {
                rate = 0.20;
                additional = 8500;
                lowerlimit = 70000;
            }

            else if ((netSalary > 140000) && (netSalary <= 250000))
            {
                rate = 0.25;
                additional = 22500;
                lowerlimit = 140000;
            }

            else if((netSalary > 250000) && (netSalary <= 500000))
            {
                rate = 0.30;
                additional = 50000;
                lowerlimit = 250000;
            }

            else if (netSalary > 500000)
            {
                rate = 0.32;
                additional = 125000;
                lowerlimit = 500000;
            }

            taxDue = netSalary - exemption;
            total = taxDue - lowerlimit;
            total = total * rate;
            total = total + additional;

             /* Converting exemption from Double to String */


            td = String.valueOf(net_salary);
            e = String.valueOf(exemption);
            a = String.valueOf(additional);
            r = String.valueOf(rate);
            t = String.valueOf(total);

             /* Placing the value to the editText (textbox) */

            tax_due.setText(td);
            tax_exe.setText(e);
            txt3.setText(civil_status2);
            txt4.setText(td);
            txt5.setText(e);
            txt6.setText(t);
            txt7.setText(r);
            txt8.setText(a);

        }
    });
}
}
package com.example.ITax;
导入android.content.Intent;
导入android.os.Bundle;
导入android.view.view;
导入android.widget.Button;
导入android.widget.EditText;
导入android.widget.TextView;
/**
*使用IntelliJ IDEA创建。
*用户:Karla Mae Jaro
*日期:12/3/12
*时间:下午3:58
*要更改此模板,请使用文件|设置|文件模板。
*/
公共类年度计算扩展了MyActivity
{
字符串civil_status2;
创建时的公共void(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.年度计算);
Bundle extras=getIntent().getExtras();
如果(附加值!=null)
{
civil_status2=extras.getString(“用户_状态”);
}
最终按钮btn_compute=(按钮)findViewById(R.id.btn_compute_from_annual);
最终按钮btn\u back=(按钮)findViewById(R.id.btn\u back\u来自年度计算);
btn_back.setOnClickListener(新建按钮.OnClickListener()
{
@凌驾
公共void onClick(视图v)
{
Intent i=newintent(getApplicationContext(),OpenChoices.class);
星触觉(i);
}
});
btn_compute.setOnClickListener(新建按钮.OnClickListener())
{
@凌驾
公共void onClick(视图v)
{
最终EditText净工资=(EditText)findViewById(R.id.et净工资年度);
最终EditText税款到期=(EditText)findViewById(R.id.et_税款到期);
最终EditText tax_exe=(EditText)findViewById(R.id.et_tax exemption);
最终文本视图txt3=(文本视图)findViewById(R.id.textView3);
最终文本视图txt4=(文本视图)findViewById(R.id.textView4);
最终文本视图txt5=(文本视图)findViewById(R.id.textView5);
最终文本视图txt6=(文本视图)findViewById(R.id.textView6);
最终文本视图txt7=(文本视图)findViewById(R.id.textView7);
最终文本视图txt8=(文本视图)findViewById(R.id.textView8);
双重净税率,应纳税额,税率=0,免税额=0,附加额=0,最低限额=0,合计;
字符串ns、td、r、e、a、t;
ns=净工资。getText().toString();
netSalary=Double.parseDouble(ns);
/*获得免税*/
如果(“SME”。等于(公民身份2))
{
豁免=50000;
}
否则,如果(“SM1”。等于(民事状态2))
{
豁免=25000;
}
否则,如果(“SM2”。等于(民事状态2))
{
豁免=50000;
}
否则,如果(“SM3”。等于(民事状态2))
{
豁免=75000;
}
否则,如果(“SM4”。等于(民事状态2))
{
豁免=100000;
}
/*获得额外的、较低的费率*/
如果(净销售额10000)和(净销售额30000)和(净销售额70000)和(净销售额140000)和(净销售额250000)和(净销售额500000)
{
比率=0.32;
附加=125000;
下限=500000;
}
应纳税额=净销售额-免税额;
总计=应纳税额-最低限额;
总计=总计*费率;
总计=总计+额外;
/*将豁免从双精度转换为字符串*/
td=字符串.valueOf(净工资);
e=字符串。值of(豁免);
a=字符串.valueOf(附加);
r=字符串。值(比率);
t=字符串。值of(总计);
/*将值放入editText(文本框)*/
应纳税额(td);
tax_exe.setText(e);
txt3.SETEXT(民事状态2);
txt4.setText(td);
txt5.setText(e);
txt6.setText(t);
txt7.setText(r);
txt8.setText(a);
}
});
}
}

您正在
td
中传递
EditText
net\u salary
)的对象,因此
td
将具有
net\u salary
对象的字符串表示形式

您已将您的值存储在
netSalary
varibale中,因此请传递该值:

td = String.valueOf(netSalary);
请参考:

android.widget。EditText@410e5a58
EditText
对象的字符串表示形式(即调用
EditText
对象的
toString
方法将返回此字符串)


@
之后的值是对象的内存地址。每次它都会改变,因为每次对象都是在不同的内存位置创建的。

使用
netSalary
而不是
netu

td = String.valueOf(netSalary);
在传递编辑文本而不是双变量时,请尝试以下操作:

tax_due.setText( net_salary.getText().toString());

如果问题在这里:

td = String.valueOf(net_salary);
这是因为您试图将
net\u salary
,一个设置了字符串值的小部件,当作一个字符串来对待。尝试:

td = String.valueOf(net_salary.getText().toString());

对我只是忽略了它><哈哈!非常感谢但是我有另一个问题@Nunu,为什么我的变量,rate,additional和lowerlimit总是等于0.0,我的if-else语句有什么问题吗?我唯一能看到的是在(else-if((netSalary>70000)&&(netSalary是的!我只是忽略了它><哈哈!非常感谢!:D但我还有另一个问题@Andro Selva,为什么我的变量、速率、附加值和下限总是等于0.0,我的if-else语句有什么问题吗?是的!我只是忽略了它><哈哈!非常感谢!:D但我还有另一个问题@gol