Я хочу редактировать значение счетчика во время выполнения в приложении для Android - PullRequest
0 голосов
/ 29 декабря 2010

Хай, я хочу изменить значение счетчика во время выполнения в приложении для Android

Ответы [ 5 ]

4 голосов
/ 29 декабря 2010

Если вы имели в виду заполнение значений Spinner во время выполнения: в этом нет ничего особенного:

1) Создание экземпляра Spinner через xml ресурс

2) Получение ссылки на объект Spinner через Activity.findViewById()

3) Определите Adapter для вашего счетчика:

ArrayAdapter<CharSequence> adapter = new ArrayAdapter<CharSequence>(context, android.R.layout.simple_spinner_item)
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
spinner.setAdapter(adapter);

4) Заполните адаптер требуемыми значениями до adapter.add()

Если вы имели в виду значения Spinnerредактируемый как EditText это немного сложно.

i) Вам нужно определить свои собственные стили вместо встроенных стилей simple_spinner_item и simple_spinner_dropdown_item, например:

<?xml version="1.0" encoding="utf-8"?>
 <!--
  ~ my_simple_spinner_item.xml
  -->

<EditText xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/mySimpleSpinnerItem"
    style="?android:attr/mySpinnerItemStyle"
        android:singleLine="true"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" />

ii) Затем просто примените эти стили к своему Spinner

Никогда не проверялось, но должно работать, по крайней мере я раньше переопределял стили для моего Spinner таким образом.

1 голос
/ 02 марта 2014

Краткий и простой ответ:

final Spinner team = (Spinner) findViewById(R.id.team_name);
team.setSelection(5); // To set 6th value in the list.
1 голос
/ 03 августа 2012

Надеюсь, это поможет вам.

Попробуйте этот код ..

public class MainActivity extends Activity {

    Spinner sp;
    EditText et;
    List<String> li;

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

        li=new ArrayList<String>();
        li.add("Item 1");
        li.add("Item 2");
        li.add("Item 3");

        sp=(Spinner) findViewById(R.id.spinner1);
        Button b=(Button) findViewById(R.id.button1);
        et=(EditText)findViewById(R.id.editText1);

        add();

        b.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
            li.add(et.getText().toString());
            et.setText(null);
            add();
            }
        });
    }

    private void add() {

    ArrayAdapter<String> adp=new ArrayAdapter<String>(this,
    android.R.layout.simple_dropdown_item_1line,li);
        adp.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line);
        sp.setAdapter(adp);
    }
}
1 голос
/ 16 сентября 2011

В моем вопросе здесь: Редактируемый Android-спиннер плюс виртуальная клавиатура - возможно ли это? Я разместил рабочий код для редактируемого блесны. Единственная проблема связана с наличием виртуальной клавиатуры.

1 голос
/ 29 декабря 2010

Позвоните setSelection(), чтобы изменить выбранный элемент в Spinner.В противном случае в Android нет такой вещи, как «редактируемый» Spinner.

...