android studio中的微调器
我正在创建一个gpa计算器,并使用微调器填充成绩。如何将spinner2中的值(学分)乘以textview1中的分数值,以便在textview2中显示结果(分数值)。(应该类似于:gradevalue=学分*分数) `公共类MainActivity扩展AppCompativeActivity实现AdapterView.OnItemSelectedListener{android studio中的微调器,android,android-spinner,Android,Android Spinner,我正在创建一个gpa计算器,并使用微调器填充成绩。如何将spinner2中的值(学分)乘以textview1中的分数值,以便在textview2中显示结果(分数值)。(应该类似于:gradevalue=学分*分数) `公共类MainActivity扩展AppCompativeActivity实现AdapterView.OnItemSelectedListener{ String[] grades ={"A","B+","B","C+","C", "D+", "D", "E"}; String[
String[] grades ={"A","B+","B","C+","C", "D+", "D", "E"};
String[] credits ={"1","2","3","4"};
double [] points1 = {4.0, 3.5, 3.0, 2.5, 2.0, 1.5, 1.0, 0 };
Spinner spinner;
TextView TextView1;
TextView TextView2;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView1 = (TextView) findViewById(R.id.gradePoints);
TextView2 = (TextView) findViewById(R.id.gradeValue);
spinner = (Spinner) findViewById(R.id.spinner);
ArrayAdapter<String> adapter1 =
new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_spinner_item, grades);
adapter1.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(adapter1);
spinner.setOnItemSelectedListener(onItemSelectedListener1);
Spinner spin2 = (Spinner) findViewById(R.id.spinner2);
ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_spinner_item, credits);
adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spin2.setAdapter(adapter2);
spin2.setOnItemSelectedListener(this);
}
AdapterView.OnItemSelectedListener onItemSelectedListener1 = new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
String s1 = String.valueOf(points1[position]);
TextView1.setText(s1);
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
};
public void onItemSelected(AdapterView<?> parent, View v, int position, long id ){
Spinner spin = (Spinner)parent;
Spinner spin2 = (Spinner)parent;
if(spin.getId() == R.id.spinner)
{
Toast.makeText(this, "Your choice :" + grades[position],Toast.LENGTH_SHORT).show();
}
if(spin2.getId() == R.id.spinner2)
{
Toast.makeText(this, "Your choice :" + credits[position],Toast.LENGTH_SHORT).show();
}
}
public void onNothingSelected(AdapterView<?> parent){
Toast.makeText(this, "Choose grades :", Toast.LENGTH_SHORT).show();
}
String[]等级={“A”,“B+”,“B”,“C+”,“C”,“D+”,“D”,“E”};
字符串[]信用={“1”、“2”、“3”、“4”};
双[]点1={4.0,3.5,3.0,2.5,2.0,1.5,1.0,0};
纺纱机;
文本视图文本视图1;
文本视图文本视图2;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView1=(TextView)findViewById(R.id.gradePoints);
TextView2=(TextView)findViewById(R.id.gradeValue);
微调器=(微调器)findViewById(R.id.spinner);
阵列适配器1=
新的ArrayAdapter(MainActivity.this,android.R.layout.simple\u spinner\u项目,等级);
adapter1.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
旋转器。设置适配器(适配器1);
微调器。setOnItemSelectedListener(onItemSelectedListener1);
Spinner spin2=(Spinner)findViewById(R.id.Spinner 2);
ArrayAdapter adapter2=新的ArrayAdapter(MainActivity.this,android.R.layout.simple\u spinner\u项目,学分);
adapter2.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项);
spin2.设置适配器(适配器2);
spin2.setOnItemSelectedListener(此);
}
AdapterView.OnItemSelectedListener onItemSelectedListener1=新建AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共视图(AdapterView父视图、视图视图、整型位置、长id){
String s1=String.valueOf(points1[位置]);
TextView1.setText(s1);
}
@凌驾
未选择公共无效(AdapterView父级){
}
};
已选择公共位置(AdapterView父视图、视图v、整型位置、长id){
微调器旋转=(微调器)父对象;
微调器微调2=(微调器)父对象;
if(spin.getId()==R.id.spinner)
{
Toast.makeText(这是“您的选择:+等级[位置],Toast.LENGTH_SHORT).show();
}
if(spin2.getId()==R.id.spinner2)
{
Toast.makeText(这是“您的选择:”+credits[position],Toast.LENGTH\u SHORT.show();
}
}
未选择公共无效(AdapterView父级){
Toast.makeText(这个“选择等级:”,Toast.LENGTH_SHORT.show();
}
}
在此处输入代码`您需要在微调器上设置文本,您可以使用以下方法获得它:
getSelectedValue()并在其上添加+1,因为它从0开始。您只需在微调器上设置Onitemselected listener,这取决于所选项目的索引,您可以更改textview的值。希望它能帮到您。
嘿,KunjiDaniel,这在我的末端工作。请检查此微调器微调器;
Hey KunjiDaniel this is working at my end.Please check this Spinner spinner;
ArrayAdapter<String> adapter;
String[] spinnerData = {"1", "3", "4", "5", "6"};
TextView text2, resultText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sample_spinner);
spinner = (Spinner) findViewById(R.id.spinner);
text2 = (TextView) findViewById(R.id.numbr2);
text2.setText(String.valueOf(3));
resultText = (TextView) findViewById(R.id.result);
adapter = new ArrayAdapter<String>(SampleSpinner.this, android.R.layout.simple_dropdown_item_1line, spinnerData);
spinner.setAdapter(adapter);
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int position, long l) {
String selected_value = adapterView.getItemAtPosition(position).toString();
changeResultantValues(selected_value);
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
});
}
int value = 0;
public void changeResultantValues(String spinnerSelected) {
if (!spinnerSelected.equals("")) {
value = Integer.parseInt(spinnerSelected);
}
String textview2Value = text2.getText().toString();
int value2 = Integer.parseInt(textview2Value);
String resultant = String.valueOf(value * value2);
resultText.setText(resultant);
}
阵列适配器;
字符串[]喷丝头数据={“1”、“3”、“4”、“5”、“6”};
TextView text2,resultText;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u sample\u微调器);
微调器=(微调器)findViewById(R.id.spinner);
text2=(TextView)findViewById(R.id.numbr2);
text2.setText(String.valueOf(3));
resultText=(TextView)findViewById(R.id.result);
adapter=new ArrayAdapter(SampleSpinner.this、android.R.layout.simple\u dropdown\u item\u 1line、spinnerData);
旋转器。设置适配器(适配器);
spinner.setOnItemSelectedListener(新的AdapterView.OnItemSelectedListener(){
@凌驾
已选择公共位置(适配器视图适配器视图视图视图视图内部位置长l){
所选字符串_value=adapterView.getItemAtPosition(position).toString();
ChangeResultantValue(所选的值);
}
@凌驾
未选择公共无效(AdapterView AdapterView){
}
});
}
int值=0;
public void changeResultantValue(已选择字符串喷丝器){
如果(!spinnerSelected.equals(“”){
值=整数.parseInt(选择喷丝头);
}
字符串textview2Value=text2.getText().toString();
int value2=Integer.parseInt(textview2Value);
字符串结果=String.valueOf(value*value2);
resultText.setText(结果);
}
up me如果这有助于您做到这一点,是否可以在微调器和textview的主活动中实现乘法方法?我不明白您想要什么我想将微调器中选择的值乘以textview以在另一个textview中显示结果。您需要执行:int value=String.valueOf(textview.gettext());你可以乘I如何将微调器的值与textview相乘以在另一个textview中显示结果是的,KunjiDaniel你可以简单地检查微调器的值是否为2,textview的值是否为5,如果两者都不为空,然后乘乘并在另一个textview中显示。希望你理解。是的,当然,给我5分钟这是我需要的代码我正在使用,我尝试了你给出的方法,但是我得到了一个错误。所以请适当地查看我的建议。谢谢。我想做的是将分数(1分)乘以学分,得到分数值。我希望这有点清楚。