Na MainActivity tenho declarado um File e só quero inicializa-lo quando quando o usuario selecionar um arquivo de luta lista apresentada a ele.
O problema: No evento Onclick quando uso o new File("…") o objeto File declarado na MainActivity continua como null
Ja estou a um bom tempo pesquisando e não achei nenhum solução
se alguem poder me dar uma luz ficaria muito grato!
MainActivity
public class MainActivity extends Activity {
MainEngine engine;
File selectedFile; // Objeto mencionado
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.startApp(); // aqui dentro chamo o evento OnClick postado loga abaixo:
// caso selectedFile tenha sido incializado é criado objeto da engine de W/R
if (this.selectedFile != null) {
this.engine = new MainEngine(selectedFile);
} else {
// desabilita botões até que seja definido o arquivo base e inicializado objeto MainEngine
this.setButtonStatus(false);
}
public void startApp() {
//codigo mapear arquivos no diretório
//lista com os nomes dos arquivos encontrados diretório
final CharSequence[] items = nameList.toArray(new CharSequence[nameList.size()]);
// Cria dialog list para escolher um dos arquivos disponiveis
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setTitle("Escolha um arquivo");
builder.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialogInterface, int item) {
if (new File("mnt/sdcard/GPMobile/" + items[item]).exists()) {
selectedFile = new File("mnt/sdcard/GPMobile/"+ items[item]); //AQUI É INICIZADO O OBJETO File selectedFile
final TextView fileSelectedText = (TextView) findViewById(R.id.textView2);
fileSelectedText.setText("Arquivo Selecionado: "+ items[item]);
} else {
// caso o arquivo não exista no diretório a caixa de
// dialog seleção é fechada
// abre alertDialog avisando que o arquivo não exite
closeOptionsMenu();
final AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create();
alertDialog .setMessage("Um erro ocorreu: Arquivo não existe");
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
closeOptionsMenu();
}
});
alertDialog.show();
}
}
});
builder.create().show();
Obrigado pela atenção