gpt4 book ai didi

java - 提取旋转器项目的值并将其用于计算

转载 作者:行者123 更新时间:2023-12-01 19:54:07 25 4
gpt4 key购买 nike

我开发了一个应用程序,有 4 个微调器、 TextView 、按钮,微调器中的每个项目都有一个值,我希望用户选择他们想要的项目,当他们单击按钮时,就会完成计算并在 TextView 。我的错误在哪里?我不知道如何获得值(value)。我很高兴发现我的错误。

Java 代码:

  public class MainActivity extends
AppCompatActivity implements
AdapterView.OnItemSelectedListener{

Spinner spinner ;
Spinner spinner1 ;
Spinner spinner2 ;
Spinner spinner3 ;
TextView textView;
Button btn;
Time st;
Kind sk;
Hardship sh;
Lang sl;
String text;

String spin1 = st.getText().toString();
String spin2 = sk.getText().toString();
String spin3 = sh.getText().toString();
String spin4 = sl.getText().toString();

int num1 = Integer.parseInt(spin1);
int num2 = Integer.parseInt(spin2);
int num3 = Integer.parseInt(spin3);
int num4 = Integer.parseInt(spin4);

int res = 37*num1*num2*num3*num4;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


spinner = findViewById(R.id.spinner);
spinner1 = findViewById(R.id.spinner1);
spinner2 = findViewById(R.id.spinner2);
spinner3 = findViewById(R.id.spinner3);
textView = findViewById(R.id.result);
btn = findViewById(R.id.btnresult);


ArrayAdapter<Time> spinnerArrayAdapter = new ArrayAdapter<>(this,
android.R.layout.simple_spinner_item, new Time[] {

new Time( 1, "عادی" ),
new Time( 1.5, "نیمه فوری" ),
new Time( 2, "فوری" )
});

spinner.setAdapter(spinnerArrayAdapter);


ArrayAdapter<Kind> spinner1ArrayAdapter = new ArrayAdapter<>(this,
android.R.layout.simple_spinner_item, new Kind[] {

new Kind( 1, "مهندسی" ),
new Kind( 2, "علوم اسلامی" ),
new Kind( 1.5, "فلسفه" ),
new Kind( 1.5, "حقوق و اسناد تجاری" ),
new Kind( 1.25, "پزشکی" ),
new Kind( 1, "سایر رشته ها" )
});

spinner1.setAdapter(spinner1ArrayAdapter);

ArrayAdapter<Hardship> spinner2ArrayAdapter = new ArrayAdapter<>(this,
android.R.layout.simple_spinner_item, new Hardship[] {

new Hardship( 1, "عمومی" ),
new Hardship( 1.2, "تخصصی" )
});

spinner2.setAdapter(spinner2ArrayAdapter);

ArrayAdapter<Lang> spinner3ArrayAdapter = new ArrayAdapter<>(this,
android.R.layout.simple_spinner_item, new Lang[] {

new Lang( 1.5, "عربی" ),
new Lang( 1.5, "فرانسه" ),
new Lang( 1.5, "آلمانی" ),
new Lang( 1.5, "ترکی استانبولی" ),
new Lang( 1.5, "ترکی آذری" ),
new Lang( 1.5, "روسی" ),
new Lang( 1.5, "ارمنی" ),
new Lang( 1.75, "اسپانیایی" ),
new Lang( 1.75, "ایتالیایی" ),
new Lang( 1.75, "کردی" ),
new Lang( 2, "چینی" ),
new Lang( 2, "کره ای" ),
new Lang( 2, "ژاپنی" ),
new Lang( 2, "اردو" ),
new Lang( 2, "مجاری" ),
new Lang( 2, "سوئدی" ),
new Lang( 2, "هلندی" ),
new Lang( 2, "تاجیک" ),
new Lang( 2, "لهستانی" )
});

spinner3.setAdapter(spinner3ArrayAdapter);


}

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
st = (Time)spinner.getSelectedItem();
sk = (Kind)spinner1.getSelectedItem();
sh = (Hardship)spinner2.getSelectedItem();
sl = (Lang)spinner3.getSelectedItem();


btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
textView.setText(res);
}
});


}

@Override
public void onNothingSelected(AdapterView<?> parent) {

}

public class Time {

public double id ;
public String name ;

public Time( double _id, String _name )
{
id = _id;
name = _name;
}

public String toString()
{
return name;
}
}

public class Kind {

public double id ;
public String name ;

public Kind( double _id, String _name )
{
id = _id;
name = _name;
}

public String toString()
{
return name;
}
}

public class Hardship {

public double id ;
public String name ;

public Hardship( double _id, String _name )
{
id = _id;
name = _name;
}

public String toString()
{
return name;
}
}

public class Lang {

public double id ;
public String name ;

public Lang( double _id, String _name )
{
id = _id;
name = _name;
}

public String toString()
{
return name;
}
}

}

最佳答案

您没有在微调器上设置onItemSelectedListeners。您的代码中还存在一些小错误。只需尝试下面的代码。

public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {

Spinner spinner;
Spinner spinner1;
Spinner spinner2;
Spinner spinner3;
TextView textView;
Button btn;
Time st;
Kind sk;
Hardship sh;
Lang sl;
String text;

String spin1 = "";
String spin2 = "";
String spin3 = "";
String spin4 = "";

double num1;
double num2;
double num3;
double num4;

double res = 0.0;


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


spinner = findViewById(R.id.spinner);
spinner1 = findViewById(R.id.spinner1);
spinner2 = findViewById(R.id.spinner2);
spinner3 = findViewById(R.id.spinner3);
textView = findViewById(R.id.result);
btn = findViewById(R.id.btnresult);


ArrayAdapter<Time> spinnerArrayAdapter = new ArrayAdapter<>(this,
android.R.layout.simple_spinner_item, new Time[]{

new Time(1, "عادی"),
new Time(1.5, "نیمه فوری"),
new Time(2, "فوری")
});

spinner.setAdapter(spinnerArrayAdapter);


ArrayAdapter<Kind> spinner1ArrayAdapter = new ArrayAdapter<>(this,
android.R.layout.simple_spinner_item, new Kind[]{

new Kind(1, "مهندسی"),
new Kind(2, "علوم اسلامی"),
new Kind(1.5, "فلسفه"),
new Kind(1.5, "حقوق و اسناد تجاری"),
new Kind(1.25, "پزشکی"),
new Kind(1, "سایر رشته ها")
});

spinner1.setAdapter(spinner1ArrayAdapter);

ArrayAdapter<Hardship> spinner2ArrayAdapter = new ArrayAdapter<>(this,
android.R.layout.simple_spinner_item, new Hardship[]{

new Hardship(1, "عمومی"),
new Hardship(1.2, "تخصصی")
});

spinner2.setAdapter(spinner2ArrayAdapter);

ArrayAdapter<Lang> spinner3ArrayAdapter = new ArrayAdapter<>(this,
android.R.layout.simple_spinner_item, new Lang[]{

new Lang(1.5, "عربی"),
new Lang(1.5, "فرانسه"),
new Lang(1.5, "آلمانی"),
new Lang(1.5, "ترکی استانبولی"),
new Lang(1.5, "ترکی آذری"),
new Lang(1.5, "روسی"),
new Lang(1.5, "ارمنی"),
new Lang(1.75, "اسپانیایی"),
new Lang(1.75, "ایتالیایی"),
new Lang(1.75, "کردی"),
new Lang(2, "چینی"),
new Lang(2, "کره ای"),
new Lang(2, "ژاپنی"),
new Lang(2, "اردو"),
new Lang(2, "مجاری"),
new Lang(2, "سوئدی"),
new Lang(2, "هلندی"),
new Lang(2, "تاجیک"),
new Lang(2, "لهستانی")
});

spinner3.setAdapter(spinner3ArrayAdapter);


spinner3.setOnItemSelectedListener(this);
spinner2.setOnItemSelectedListener(this);
spinner1.setOnItemSelectedListener(this);
spinner.setOnItemSelectedListener(this);


btn.setOnClickListener(new View.OnClickListener()

{
@Override
public void onClick(View v) {
res =37* (num1 * num2 * num3 * num4);
textView.setText(res + "");
}
});


}

@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
switch (parent.getId()) {
case R.id.spinner:
Time time = (Time) spinner.getSelectedItem();
num1 = time.id;
spin1 = time.name;

break;

case R.id.spinner1:
Kind kind = (Kind) spinner1.getSelectedItem();
num2 = kind.id;
spin2 = kind.name;


break;
case R.id.spinner2:
Hardship hardship = (Hardship) spinner2.getSelectedItem();
num3 = hardship.id;
spin3 = hardship.name;
break;


case R.id.spinner3:
Lang lang = (Lang) spinner3.getSelectedItem();
num4 = lang.id;
spin4 = lang.name;

break;
}
}

@Override
public void onNothingSelected(AdapterView<?> parent) {

}


public class Time {

public double id;
public String name;

public Time(double _id, String _name) {
id = _id;
name = _name;
}

public String toString() {
return name;
}
}

public class Kind {


public double id;
public String name;

public Kind(double _id, String _name) {
id = _id;
name = _name;
}

public String toString() {
return name;
}


}

public class Hardship {

public double id;
public String name;

public Hardship(double _id, String _name) {
id = _id;
name = _name;
}

public String toString() {
return name;
}
}

public class Lang {

public double id;
public String name;

public Lang(double _id, String _name) {
id = _id;
name = _name;
}

public String toString() {
return name;
}
}

}

关于java - 提取旋转器项目的值并将其用于计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50187986/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com