Saltar para conteúdo


Foto
- - - - -

[android] recuperar id dos chrcksbox e salvá-los com sharedPreferences


  • Por favor inicie sessão para responder
1 resposta a este tópico

#1 antonio_flavio_sousa

antonio_flavio_sousa

    Novato

  • Membros
  • Pip
  • 3 mensagens
  • Notebook

Mensagem publicada 27 December 2016 - 01:38

Olá estou criando uma aplicação lista de chamadas, estou com dúvida em como vou salvar os nomes dos alunos da check box e como vou recuperar o id.

Vou colocar o código aqui é a situação atual do aplicativo.


Olá gente, novamente eu aqui.

Voltando a dizer, "Estou fazendo um app lista de presença" e irei criar varias CheckBox, bom queria saber como recuperar a referencia dela e em segundo lugar como salvar os CheckBox(Para abrir o app com os nomes salvos) com SharedPreferences.

Obs. Eu não sei o nome dos checkBox


private Button add;
private Button resultado;
private LinearLayout container;
private Button ok;


private static final String ARQUIVO_PREFERENCIA = "ArquivoPreferencia";


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

container = (LinearLayout) findViewById(R.id.lineCheckbox);
add = (Button) findViewById(R.id.btnAdd);
resultado = (Button) findViewById(R.id.btnResultado);
ok = (Button) findViewById(R.id.btnOk);

add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
exibirMensagemEdt("Novo Aluno(New Student)", "Adicionar novo aluno, click ok", container);
}
});



}


public void exibirMensagemEdt(String titulo, String texto, final LinearLayout frameLayout){

AlertDialog.Builder mensagem = new AlertDialog.Builder(MainActivity.this);
mensagem.setTitle(titulo);
mensagem.setMessage(texto);
// DECLARACAO DO EDITTEXT
final EditText input = new EditText(this);
mensagem.setView(input);
mensagem.setNeutralButton("OK", new DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int which) {

if (input.getText().toString().isEmpty()) {
Toast.makeText(getApplicationContext(), "Texto em Branco",
Toast.LENGTH_SHORT).show();
} else {
criarNovoAluno(frameLayout, input.getText().toString());
Toast.makeText(getApplicationContext(), input.getText().toString().trim(),
Toast.LENGTH_SHORT).show();
}
}

});

mensagem.show();
// FORÇA O TECLADO APARECER AO ABRIR O ALERT
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);




}

public void criarNovoAluno(LinearLayout frameLayout, String texto){

//Criando um botão passando o contexto
CheckBox aluno = new CheckBox(this);
aluno.setLayoutParams(new LinearLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT));
aluno.setText(texto);
aluno.setTextSize(30);
//Espaçamento
aluno.setPadding(5, 5, 5, 5);

//Log.i("COD ID", aluno.getId( ));

//Adicionando o botão na tela
frameLayout.addView(aluno);

}

}




><img src="/uploads/default/original/3X/f/8/f851c0e39138ba245dcf38bff6c99bc8570775c7.png" width="690" height="387">


Queria abrir o app com esses CheckBox salvos

Desde já agradeço.

Quem souber e puder me ajudar chame no skype por favor. Skype: [email protected]. Ou deixe seu skype.

Editado por antonio_flavio_sousa, 27 December 2016 - 01:45.

  • AustAdmilk, Franwab e Mattode gosta disto

#2 Bruno_Massa_Ferreira

Bruno_Massa_Ferreira

    Membro

  • Membros
  • PipPip
  • 26 mensagens
  • Vodafone smart 2, Vodafone smart mini, LG G4, Galaxy Grand Prime

Mensagem publicada 27 December 2016 - 21:18

Uma ideia simples é usares sharedpreferences do tipo inteiro que recebe 0 se estiver unchecked e 1 se tiver checked.

​Um exemplo:

Checkbox A;

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

A=(Checkbox)findviewbyid(R.id.teucheckvox);

a.setoncheckedlistener(new Oncheckedlistener{
onchecked(){
poem 1 no sharedpreferece da checkbox;
}

onunchecked(){

poem 0 na sharedpreference da checkbox;
}
});


}

LG G4 - Leather Brown​ - Full Stock - antutu -  66200