我希望将信用乘以gradePoints以返回textview2中的等级值。我怎么做?学分是第二个旋转器。 `public class MainActivity扩展AppCompatActivity实现AdapterView.OnItemSelectedListener {
{{1}}
} `
答案 0 :(得分:0)
也许你可以试试这个:
public class MainActivity extends AppCompatActivity implements AdapterView.OnItemSelectedListener {
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, spin2;
TextView TextView1;
TextView TextView2;
Double point = -1.0;
Double value = -1.0;
@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);
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) {
point = points1[position];
TextView1.setText(String.valueOf(point));
if ( value != -1.0 ) {
double res = (double) point * value;
TextView2.setText(String.valueOf(res));
}
}
@Override
public void onNothingSelected(AdapterView<?> parent) {
}
};
public void onItemSelected(AdapterView<?> parent, View v, int position, long id ){
Toast.makeText(this, "Your choice :" + credits[position],Toast.LENGTH_SHORT).show();
String valueStr = credits[position];
value = Double.parseDouble(valueStr);
if ( point != -1.0 ) {
double res = (double) point * value;
TextView2.setText(String.valueOf(res));
}
}
public void onNothingSelected(AdapterView<?> parent){
Toast.makeText(this, "Choose grades :", Toast.LENGTH_SHORT).show();
}
}
希望这会奏效!
答案 1 :(得分:0)
您可以尝试制作所选值的成员变量,然后在每次选择时更改textview的值:
public class MainActivity extends AppCompatActivity{
int selectedCredit = 0;
double selectedPoints = 0;
@Override
public void onCreate(Bundle savedInstanceState){
int[] credits ={1,2,3,4};
double[] points = {4.0, 3.5, 3.0, 2.5, 2.0, 1.5, 1.0, 0 };
spinner1.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id){
selectedCredit = credits[position];
double value = selectedCredit * selectedPoints;
textView.setText("The calculated value is " + value);
}
@Override
public void onNothingSelected(AdapterView<?> parent){}
});
spinner2.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener(){
@Override
public void onItemSelected(AdapterView<?> parent, View view, int position, long id){
selectedPoints = points[position];
double value = selectedCredit * selectedPoints;
textView.setText("The calculated value is " + value);
}
@Override
public void onNothingSelected(AdapterView<?> parent){}
});
}
}
答案 2 :(得分:0)
我根据你的问题理解我给出了一个解决方案。希望这可以帮助。 :)
$app_access_token