Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/229.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
android studio中的微调器_Android_Android Spinner - Fatal编程技术网

android studio中的微调器

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[

我正在创建一个gpa计算器,并使用微调器填充成绩。如何将spinner2中的值(学分)乘以textview1中的分数值,以便在textview2中显示结果(分数值)。(应该类似于:gradevalue=学分*分数) `公共类MainActivity扩展AppCompativeActivity实现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;
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分)乘以学分,得到分数值。我希望这有点清楚。