Форум программистов, компьютерный форум CyberForum.ru

Программирование Android

Войти
Регистрация
Восстановить пароль
 
Helele
5 / 5 / 0
Регистрация: 06.04.2014
Сообщений: 90
#1

Spinner элементы - Android

31.05.2015, 21:05. Просмотров 542. Ответов 5
Метки нет (Все метки)

Доброго времени суток)
Есть Spinner список , нужно из этого списка выбрать элемент(текст) ,чтобы потом нажать на кнопку и в другом активити происходили события по этому тексту spinner'a .
Как реализовать этот выбор текста для нового активити(на него переходить могу), чтобы производить действия по запросу этого текста.

пока что типо этого, в OnClick() переход на другой активити

Java
1
2
3
4
5
6
7
8
9
10
11
spin = (Spinner) findViewById(R.id.spinner1);
        
        ArrayAdapter<String> namesAdapter = new ArrayAdapter<String>(this,
        android.R.layout.simple_spinner_item, getResources().getStringArray(R.array.calc));
 
        namesAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        
        spin.setAdapter(namesAdapter);
        spin.setSelection(2);
        spin.setOnItemSelectedListener(this);
        Button btnActList = (Button) findViewById(R.id.btnActList);
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.05.2015, 21:05     Spinner элементы
Посмотрите здесь:

spinner Android
Spinner Android
элемент spinner Android
Android spinner в ListView
Android быстрый Spinner
Наполнение Spinner из БД Android
Android Список из Spinner
Spinner Android
Android Spinner и NavigationDrawer
Android Spinner
Spinner Android
Android Spinner в AlertDialog

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Mikalai
253 / 229 / 92
Регистрация: 11.01.2015
Сообщений: 648
31.05.2015, 21:33     Spinner элементы #2
Вместо android.R.layout.simple_spinner_item нарисуй свою разметку. задай там в TextView id. Потом имплементируя интерфейс OnItemSelectedListener, тебе нужно будет переопределить метод onItemSelected. Получится примерно так:
Java
1
2
3
4
5
@Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                TextView textView = (TextView) view.findViewById(R.id.textView);
                String string = textView.getText().toString();
        }
А потом уже с этой string делай что хочешь.
Helele
5 / 5 / 0
Регистрация: 06.04.2014
Сообщений: 90
01.06.2015, 18:06  [ТС]     Spinner элементы #3
Цитата Сообщение от Mikalai Посмотреть сообщение
Вместо android.R.layout.simple_spinner_item нарисуй свою разметку. задай там в TextView id.
можно пжл немного подробней ? тоесть активити вместо
Java
1
android.R.layout.simple_spinner_item
??
Mikalai
253 / 229 / 92
Регистрация: 11.01.2015
Сообщений: 648
01.06.2015, 19:42     Spinner элементы #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вот пример где текст из спинера отправляется в другое активити при нажатии на кнопку:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
public class MainActivity extends Activity implements AdapterView.OnItemSelectedListener,
        View.OnClickListener{
 
        public static final String INTENT_KEY = "intentKey";
 
        String spinnerInfo = "";
        String[] strArray = {
                "один",
                "два",
                "три",
                "четыре",
                "пять"
        };
 
        @Override
        protected void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_main);
 
                Spinner spinner = (Spinner) findViewById(R.id.spinner);
                Button button = (Button) findViewById(R.id.button);
 
                ArrayAdapter<String> namesAdapter = new ArrayAdapter<>(this, R.layout.item, strArray);
                spinner.setAdapter(namesAdapter);
                spinner.setOnItemSelectedListener(this);
 
                button.setOnClickListener(this);
        }
 
        @Override
        public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
                TextView textView = (TextView) view.findViewById(R.id.textView1);
                spinnerInfo = textView.getText().toString();
        }
 
        @Override
        public void onNothingSelected(AdapterView<?> parent) {}
 
        @Override
        public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, SecondActivity.class);
                intent.putExtra(INTENT_KEY, spinnerInfo);
                startActivity(intent);
        }
}
activity_main.xml

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
 
 
    <Spinner
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/spinner" />
 
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="New Button"
        android:id="@+id/button" />
</LinearLayout>
item.xml

XML
1
2
3
4
5
6
7
8
9
10
11
12
13
<?xml version="1.0" encoding="utf-8"?>
<TextView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/textView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:padding="5dp"
    android:background="#666666"
    android:text="TextView"
    android:textColor="#ffffff"
    android:textSize="24sp"
    android:gravity="center">
</TextView>
Во втором активити этот текст подхватывается и вставляется в TextView:

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class SecondActivity extends Activity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_second);
 
        Intent intent = getIntent();
        String string = intent.getStringExtra(MainActivity.INTENT_KEY);
 
        TextView textView = (TextView) findViewById(R.id.textView2);
        textView.setText(string);
    }
}
Helele
5 / 5 / 0
Регистрация: 06.04.2014
Сообщений: 90
05.06.2015, 22:01  [ТС]     Spinner элементы #5
Mikalai,

Java
1
2
 String string = intent.getStringExtra(MainActivity.INTENT_KEY);
[/quote]
как вставить лист массива например R.array.names, вместо INTENT_KEY ??

так я правильно буду отправлять?
Java
1
intent.putExtra("Name", R.array.name);
Mikalai
253 / 229 / 92
Регистрация: 11.01.2015
Сообщений: 648
08.06.2015, 10:56     Spinner элементы #6
Helele, почитай тут и тут.
Yandex
Объявления
08.06.2015, 10:56     Spinner элементы
Ответ Создать тему
Опции темы

Текущее время: 03:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru