Как автоматически добавить запятую в диалоге оповещения - PullRequest
0 голосов
/ 24 октября 2018

package com.corporation.ilumian.latihandua;

import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ImageView;
import android.widget.RadioButton;
import android.widget.RadioGroup;
public class MainActivity extends AppCompatActivity {

    Button btnSubmit;
    EditText txtNama,txtKelas;
    RadioGroup radGroup;
    RadioButton radBut1,radBut2;
    CheckBox boxBola,boxGame,boxMakan;
    String cbBola,cbGame,cbMakan;



    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        btnSubmit = (Button)findViewById(R.id.button);
        txtNama = (EditText)findViewById(R.id.editText);
        txtKelas = (EditText)findViewById(R.id.editText2);
        radGroup = (RadioGroup)findViewById(R.id.radioGroup);
        boxBola = (CheckBox)findViewById(R.id.checkBox);
        boxGame = (CheckBox)findViewById(R.id.checkBox2);
        boxMakan = (CheckBox)findViewById(R.id.checkBox3);

        btnSubmit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                showDialog();

            }
        });
    }

    public void showDialog(){
        int selectedRb = radGroup.getCheckedRadioButtonId();
        radBut1 = (RadioButton)findViewById(selectedRb);
        getCheckboxData();
        AlertDialog.Builder hasilInput = new AlertDialog.Builder(this);


        //set judul
        hasilInput.setTitle("Hasil Input");
        hasilInput.setMessage("Nama : " + txtNama.getText().toString() + "\n" +
                              "Kelas : " + txtKelas.getText().toString() + "\n" +
                              "Kamu Seorang " + radBut1.getText() + "\n" +
                              "Hobby : " + cbBola + cbGame + cbMakan + "\n").setPositiveButton("Oke", new DialogInterface.OnClickListener() {
            @Override
            public void onClick(DialogInterface dialog, int which) {
                dialog.cancel();
            }
        });
        AlertDialog alert = hasilInput.create();
        alert.show();




    }

    public void getCheckboxData(){

        if (boxBola.isChecked() && boxGame.isChecked() && boxMakan.isChecked()){
            cbBola = boxBola.getText().toString() + ", ";
            cbGame = boxGame.getText().toString() + ", ";
            cbMakan = boxMakan.getText().toString();
        }
        else {
            if (boxBola.isChecked() && boxGame.isChecked()){
                cbBola = boxBola.getText().toString() + ", ";
                cbGame = boxGame.getText().toString();
            }
            else{
                if (boxBola.isChecked() && boxMakan.isChecked()){
                    cbBola = boxBola.getText().toString() + ", ";
                    cbMakan = boxMakan.getText().toString();
                }
                else {
                    if (boxBola.isChecked()){
                        cbBola = boxBola.getText().toString();
                    }
                    else {
                        cbBola = "";
                    }
                }
            }
        }


    }
}

Привет всем, спасибо, что уделили мне время на прочтение моего первого поста. У меня есть домашняя работа по автоматическому добавлению запятой в тексте в диалоговом окне с предупреждением. Приложение выглядит как

«Пользовательский интерфейс», в котором диалоговое окно оповещения принимает информацию

Вот пример, когда кнопка отправки нажата

сейчаспроблема в том, как добавить запятую между текстом в хобби?

до (результат на картинке)

Хобби: основная игра Sepak Bola Makan

без запятой для разделенияхобби

вот как автоматически должен выглядеть диалог оповещения, если установлен флажок 2 или более

Хобби: Сепак Бола, Основная игра, Макан или Хобби: Сепак Бола, Макан

как добавить эту запятую?без ввода вручную ... ("," .. в коде

Извините, если этот тип вопроса уже обсуждался, я действительно не знаю, какое ключевое слово для поиска в Google или StackOverflow

Спасибо

1 Ответ

0 голосов
/ 24 октября 2018

Вы можете использовать guava joiner для объединения текстов.Но я понятия не имею о структуре данных, что вы использовали для сохранения этих данных.Если вы используете список для сохранения хобби, вы можете сделать это, как показано ниже:

List<String> hobbies= Lists.newArrayList("Sepak Bola", " Main Game", "Makan");
String result = Joiner.on(",").join(hobbies);

Редактирование Тима: Мы можем использовать вышеизложенное appraoch с вашим реальным диалоговым кодом:

List<String> hobbies = Lists.newArrayList(cbBola, cbGame, cbMakan);
String result = Joiner.on(",").join(hobbies);

hasilInput.setMessage("Nama : " + txtNama.getText().toString() + "\n" +
                      "Kelas : " + txtKelas.getText().toString() + "\n" +
                      "Kamu Seorang " + radBut1.getText() + "\n" +
                      "Hobby : " + result  + "\n")
    .setPositiveButton("Oke", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            dialog.cancel();
        }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...