Java 如何从多个按钮获取值并在多个edittext上设置它-Android
我有4个编辑文本和11个按钮。我想使用这11个按钮在edittext上显示不同的文本。 我确实尝试过carat.setText(carat.getText().toString()+((按钮)v.getText());但它对所有4个文本都有相同的值。 我有4个edittext名为carat、price、total、list,我想使用这些按钮将值插入其中 如果我使用list.setText(list.getText().toString()+((按钮)v.getText());total.setText(total.getText().toString()+((按钮)v.getText());在最后一行中,当我使用按钮输入值时,所有编辑文本中会同时输入相同的值。但我不想那样。我想在每个edittext中分别输入值Java 如何从多个按钮获取值并在多个edittext上设置它-Android,java,android,android-layout,Java,Android,Android Layout,我有4个编辑文本和11个按钮。我想使用这11个按钮在edittext上显示不同的文本。 我确实尝试过carat.setText(carat.getText().toString()+((按钮)v.getText());但它对所有4个文本都有相同的值。 我有4个edittext名为carat、price、total、list,我想使用这些按钮将值插入其中 如果我使用list.setText(list.getText().toString()+((按钮)v.getText());total.setT
EditText carat,list,price,total;
Button submit;
Button one, two, three, four, five, six, seven, eight, nine, zero, cancel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_calculator);
carat=(EditText)findViewById(R.id.carat);
list=(EditText)findViewById(R.id.list);
price=(EditText)findViewById(R.id.price);
total=(EditText)findViewById(R.id.total);
submit=(Button)findViewById(R.id.submit);
one = (Button) findViewById(R.id.one);
two = (Button) findViewById(R.id.two);
three = (Button) findViewById(R.id.three);
four = (Button) findViewById(R.id.four);
five = (Button) findViewById(R.id.five);
six = (Button) findViewById(R.id.six);
seven = (Button) findViewById(R.id.seven);
eight = (Button) findViewById(R.id.eight);
nine = (Button) findViewById(R.id.nine);
zero = (Button) findViewById(R.id.zero);
cancel=(Button)findViewById(R.id.clear);
Spinner shape2=(Spinner)findViewById(R.id.shape2);
ArrayAdapter<CharSequence> adapter11 = ArrayAdapter.createFromResource(this, R.array.shape2, android.R.layout.simple_spinner_item);
adapter11.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
shape2.setAdapter(adapter11);
Spinner cut3=(Spinner)findViewById(R.id.cut3);
ArrayAdapter<CharSequence> adapter12 = ArrayAdapter.createFromResource(this, R.array.cut3, android.R.layout.simple_spinner_item);
adapter12.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
cut3.setAdapter(adapter12);
Spinner color=(Spinner)findViewById(R.id.color);
ArrayAdapter<CharSequence> adapter13 = ArrayAdapter.createFromResource(this, R.array.color, android.R.layout.simple_spinner_item);
adapter13.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
color.setAdapter(adapter13);
one.setOnClickListener(this);
two.setOnClickListener(this);
three.setOnClickListener(this);
four.setOnClickListener(this);
five.setOnClickListener(this);
six.setOnClickListener(this);
seven.setOnClickListener(this);
eight.setOnClickListener(this);
nine.setOnClickListener(this);
zero.setOnClickListener(this);
cancel.setOnClickListener(this);
}
@Override
public void onClick(View v) {
carat.setText(carat.getText().toString() + ((Button) v).getText());
list.setText(list.getText().toString() + ((Button) v).getText());
total.setText(total.getText().toString() + ((Button) v).getText());
}
EditText克拉、列表、价格、总计;
按钮提交;
按钮一,二,三,四,五,六,七,八,九,零,取消;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u计算器);
克拉=(EditText)findViewById(R.id.carat);
list=(EditText)findViewById(R.id.list);
price=(EditText)findViewById(R.id.price);
total=(EditText)findViewById(R.id.total);
提交=(按钮)findViewById(R.id.submit);
一=(按钮)findViewById(R.id.one);
two=(按钮)findViewById(R.id.two);
三=(按钮)findViewById(R.id.three);
four=(按钮)findViewById(R.id.four);
五=(按钮)findViewById(R.id.five);
六=(按钮)findViewById(R.id.six);
seven=(按钮)findViewById(R.id.seven);
八=(按钮)findViewById(R.id.eight);
nine=(按钮)findViewById(R.id.nine);
零=(按钮)findViewById(R.id.zero);
取消=(按钮)findViewById(R.id.clear);
微调器shape2=(微调器)findViewById(R.id.shape2);
ArrayAdapter adapter11=ArrayAdapter.createFromResource(这个,R.array.shape2,android.R.layout.simple\u微调器\u项);
adapter11.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
形状2.设置适配器(适配器11);
微调器cut3=(微调器)findViewById(R.id.cut3);
ArrayAdapter adapter12=ArrayAdapter.createFromResource(这个,R.array.cut3,android.R.layout.simple\u微调器\u项);
adapter12.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
cut3.设置适配器(适配器12);
微调器颜色=(微调器)findViewById(R.id.color);
ArrayAdapter adapter13=ArrayAdapter.createFromResource(这个,R.array.color,android.R.layout.simple\u微调器\u项);
adapter13.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
颜色。设置适配器(适配器13);
一、setOnClickListener(本);
二、setOnClickListener(本);
三、setOnClickListener(本);
四、setOnClickListener(本);
5.setOnClickListener(本);
六、setOnClickListener(本);
七、setOnClickListener(这个);
八、setOnClickListener(本);
九、setOnClickListener(本);
zero.setOnClickListener(此);
cancel.setOnClickListener(此);
}
@凌驾
公共void onClick(视图v){
克拉.setText(克拉.getText().toString()+((按钮)v.getText());
list.setText(list.getText().toString()+((按钮)v.getText());
total.setText(total.getText().toString()+((按钮)v.getText());
}
这很令人困惑。。你的期望是什么?他的期望是,他单击的按钮的文本被附加到carat
textview中已经存在的文本中。在这种情况下,代码看起来很好。你的代码正在做它应该做的事情。但它并没有设置其他编辑文本。你怎么会说它正在用相同的值填充其他对象?如果我使用list.setText(list.getText().toString()+((按钮)v.getText());total.setText(total.getText().toString()+((按钮)v.getText());在最后一行中,当我使用按钮输入值时,所有编辑文本中会同时输入相同的值。但我不想那样。我想在每个edittext中分别输入值。