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

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

Войти
Регистрация
Восстановить пароль
 
Kazachek
15 / 15 / 2
Регистрация: 03.11.2013
Сообщений: 338
#1

Checkbox как узнать на которых чекбоксов стоит галочка - Программирование Android

05.02.2014, 15:53. Просмотров 1032. Ответов 7
Метки нет (Все метки)

Здравствуйте. Есть 4 checkbox-a
При нажатии кнопки нужно вывести какой из чекбоксов выбран.

На данный момент нашел пример, но он выводит так:
Checkbox1:true
Checkbox2:false
Checkbpx3:false
Checkbox4:false

а нужно чтоб вот так:
Checkbox1

то есть выводилось название или валуй выбранного чекбокса


Есть ли у кого нибудь примеры или ссылки? Спасибо

Добавлено через 4 часа 47 минут
Хотя бы подскажите как с or and работать

Думаю сделать один if и сказать: if(checkbox1.isChecked() and checkbox2.isChecked()....){
Т
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
05.02.2014, 16:27     Checkbox как узнать на которых чекбоксов стоит галочка #2
AND &&
OR ||
Kazachek
15 / 15 / 2
Регистрация: 03.11.2013
Сообщений: 338
05.02.2014, 16:58  [ТС]     Checkbox как узнать на которых чекбоксов стоит галочка #3
Долго мучился и сделал результат, но к сожалению у меня проблема, Netscape, не подскажете как удалить последний символ в строке или в TextView

Добавлено через 2 минуты
main.xml
Кликните здесь для просмотра всего текста
XML
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
 
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/hello_world" />
 
    <CheckBox
        android:id="@+id/checkBox1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/textView1"
        android:layout_below="@+id/textView1"
        android:layout_marginLeft="24dp"
        android:layout_marginTop="98dp"
        android:text="CheckBox" />
 
    <CheckBox
        android:id="@+id/checkBox2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/checkBox1"
        android:layout_below="@+id/checkBox1"
        android:layout_marginTop="18dp"
        android:text="CheckBox" />
 
    <CheckBox
        android:id="@+id/checkBox3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignRight="@+id/checkBox2"
        android:layout_below="@+id/checkBox2"
        android:layout_marginTop="22dp"
        android:text="CheckBox" />
 
    <CheckBox
        android:id="@+id/checkBox4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/checkBox3"
        android:layout_below="@+id/checkBox3"
        android:layout_marginTop="32dp"
        android:text="CheckBox" />
 
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/checkBox1"
        android:layout_alignLeft="@+id/checkBox1"
        android:layout_alignRight="@+id/checkBox1"
        android:layout_marginBottom="30dp"
        android:text="Button" />
 
</RelativeLayout>


MainActivity
Кликните здесь для просмотра всего текста
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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
package com.example.checkbox;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TextView;
 
public class MainActivity extends Activity implements OnClickListener {
 
    CheckBox checkbox1;
    CheckBox checkbox2;
    CheckBox checkbox3;
    CheckBox checkbox4;
    Button button1;
    TextView textView1;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        checkbox1 = (CheckBox)findViewById(R.id.checkBox1);
        checkbox2 = (CheckBox)findViewById(R.id.checkBox2);
        checkbox3 = (CheckBox)findViewById(R.id.checkBox3);
        checkbox4 = (CheckBox)findViewById(R.id.checkBox4);
        button1 = (Button)findViewById(R.id.button1);
        textView1 = (TextView)findViewById(R.id.textView1);
    
    
 
    
    button1.setOnClickListener(new OnClickListener() {
        
        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            textView1.setText("");
            if(checkbox1.isChecked()){
                textView1.setText(textView1.getText()+"1%");
            }
            if(checkbox2.isChecked()){
                textView1.setText(textView1.getText()+"2%");
            }
            if(checkbox3.isChecked()){
                textView1.setText(textView1.getText()+"3%");
            }
            if(checkbox4.isChecked()){
                textView1.setText(textView1.getText()+"4%");
            }
            
            
        }
    });
    
    }
    
    
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
 
 
 
 
    @Override
    public void onClick(View arg0) {
        // TODO Auto-generated method stub
        
    }
 
}
Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
05.02.2014, 17:10     Checkbox как узнать на которых чекбоксов стоит галочка #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
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
import java.util.ArrayList;
import java.util.List;
 
import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.TextView;
 
public class MainActivity extends Activity {
    
    private List<CheckBox> mCheckBoxList;
 
    CheckBox checkbox1;
    CheckBox checkbox2;
    CheckBox checkbox3;
    CheckBox checkbox4;
    Button button1;
    TextView textView1;
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        mCheckBoxList = new ArrayList<CheckBox>();
        
        checkbox1 = (CheckBox) findViewById(R.id.checkBox1);
        mCheckBoxList.add(checkbox1);
        checkbox2 = (CheckBox) findViewById(R.id.checkBox2);
        mCheckBoxList.add(checkbox2);
        checkbox3 = (CheckBox) findViewById(R.id.checkBox3);
        mCheckBoxList.add(checkbox3);
        checkbox4 = (CheckBox) findViewById(R.id.checkBox4);
        mCheckBoxList.add(checkbox4);
        
        button1 = (Button) findViewById(R.id.button1);
        textView1 = (TextView) findViewById(R.id.textView1);
 
        button1.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                StringBuilder sb = new StringBuilder();
                for (int i = 0; i < mCheckBoxList.size(); ++i) {
                    CheckBox checkBox = mCheckBoxList.get(i);
                    if(checkBox.isChecked()) {
                        sb.append(checkBox.getText()).append(" ").append(i).append("\n");
                    }
                }
                textView1.setText(sb.toString());
            }
        });
 
    }
 
    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }
 
}
Kazachek
15 / 15 / 2
Регистрация: 03.11.2013
Сообщений: 338
05.02.2014, 17:24  [ТС]     Checkbox как узнать на которых чекбоксов стоит галочка #5
Мне результат нужен в виде строки, я потом его соединю с другой строкой для отправки get запроса.
Спасибо вам за пример, он очень полезен нам новичкам.

На данный момент при выводе везде в конце стоит один ненужный символ, и у меня не получается его удалять. Пожалуйста помогите удалить последний символ в строке, так как в ищу пример но не нахожу.
Netscape
371 / 358 / 48
Регистрация: 02.10.2009
Сообщений: 712
Записей в блоге: 4
05.02.2014, 17:59     Checkbox как узнать на которых чекбоксов стоит галочка #6
Цитата Сообщение от Kazachek Посмотреть сообщение
Пожалуйста помогите удалить последний символ в строке, так как в ищу пример но не нахожу.
что-то я не пойму, какой символ и откуда удалять.
Kazachek
15 / 15 / 2
Регистрация: 03.11.2013
Сообщений: 338
05.02.2014, 18:12  [ТС]     Checkbox как узнать на которых чекбоксов стоит галочка #7
Цитата Сообщение от Netscape Посмотреть сообщение
что-то я не пойму, какой символ и откуда удалять.
50 строка вашего кода

sb.append(checkBox.getText()).append(" ").append(i).append("\n");

я заменил на sb.append(checkBox.getText()).append(" ").append(i).append("%");

чтоб было одной строкой, но теперь у меня в конце строки появляется символ %, мне нужно удалить этот символ с конца строки

Добавлено через 8 минут
Все нашел


textView1.setText(sb.toString());
StringBuffer str = new StringBuffer(textView1.getText().toString());
str.delete(textView1.getText().length()-1, textView1.getText().length());
textView1.setText(str.toString());
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
05.02.2014, 18:33     Checkbox как узнать на которых чекбоксов стоит галочка
Еще ссылки по теме:
Android Как можно в checkbox установить любую нужную мне иконку
Как отменить Checked \ Selected CheckBox из самого события на Selected в Listener Android
Android Как узнать имя Активити?
Как узнать разрешение экрана Android
Как узнать версию приложения? Android

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

Или воспользуйтесь поиском по форуму:
Kazachek
15 / 15 / 2
Регистрация: 03.11.2013
Сообщений: 338
05.02.2014, 18:33  [ТС]     Checkbox как узнать на которых чекбоксов стоит галочка #8
Прикрепил результат, вдруг новичкам как я пригодится.
Вложения
Тип файла: rar checkbox.rar (1.30 Мб, 9 просмотров)
Yandex
Объявления
05.02.2014, 18:33     Checkbox как узнать на которых чекбоксов стоит галочка
Ответ Создать тему
Опции темы

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