установить удвоение при выборе предмета Spinner - Android - PullRequest
0 голосов
/ 05 января 2012

Я создал спиннер с 3 вариантами: Начинающий, Продвинутый и Про.Когда один из вариантов выбран, я хочу создать тост и установить двойной.Мне нужно удвоить, чтобы использовать это значение позже, чтобы вычислить с 2 другими значениями из текста редактирования.Для целей разработки я хочу установить текстовое представление с этим значением, чтобы проверить его.Я попробовал несколько вещей, но я не могу заставить это работать.Текстовое представление продолжает отображать 0.0

Надеюсь, что кто-то может мне помочь.

Мой код Java:

package tim.steunebrink.tab;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemSelectedListener;
import android.widget.ArrayAdapter;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.widget.Toast;

public class AlbumsActivity  extends Activity{


private TextView ExpValue;
private double expchosen;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.albums_layout);

    ExpValue = (TextView) findViewById(R.id.ExpValue);

    Spinner spinner = (Spinner) findViewById(R.id.spinner_experience);
    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
            this, R.array.experience_array, android.R.layout.simple_spinner_item);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    spinner.setAdapter(adapter);

    class MyOnItemSelectedListener implements OnItemSelectedListener {

        public void onItemSelected(AdapterView<?> parent,
                View view, int pos, long id) {
            if (pos == 0) {
                // Beginner
                Toast.makeText(parent.getContext(), "Beginner = 0.5", Toast.LENGTH_LONG).show();
                double expchosen = new Double("0.5");

            } else if(pos == 1) {
                // Advanced
                Toast.makeText(parent.getContext(), "Advanced = 1.0", Toast.LENGTH_LONG).show();
                double expchosen = new Double("1.0");

            } else {
                // Pro
                Toast.makeText(parent.getContext(), "Pro = 1.5", Toast.LENGTH_LONG).show();
                double expchosen = new Double("1.5");

            }


            ExpValue.setText(Double.toString(expchosen));

        }

        public void onNothingSelected(AdapterView<?> parent) {
            // Do Nothing
        }
    }

    spinner.setOnItemSelectedListener(new MyOnItemSelectedListener());
}   
}

Ответы [ 2 ]

2 голосов
/ 05 января 2012

внести эти изменения

class MyOnItemSelectedListener implements OnItemSelectedListener {
        double expchosen ;
        public void onItemSelected(AdapterView<?> parent,
                View view, int pos, long id) {
            if (pos == 0) {
                // Beginner
                Toast.makeText(parent.getContext(), "Beginner = 0.5", Toast.LENGTH_LONG).show();
                expchosen= new Double("0.5");
            } else if(pos == 1) {
                // Advanced
                Toast.makeText(parent.getContext(), "Advanced = 1.0", Toast.LENGTH_LONG).show();
                expchosen = new Double("1.0");
            } else {
                // Pro
                Toast.makeText(parent.getContext(), "Pro = 1.5", Toast.LENGTH_LONG).show();
                expchosen = new Double("1.5");
            }
            ExpValue.setText(Double.toString(expchosen));
        }

        public void onNothingSelected(AdapterView<?> parent) {
            // Do Nothing
        }
    }
1 голос
/ 05 января 2012

Ниже код может быть полезен для вас.

Применить

ExpValue.invalidate();

После строки

ExpValue.setText(Double.toString(expchosen));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...