GUJ Discussões   :   últimos tópicos   |   categorias   |   GUJ Respostas

APP de Terminal De Comando Android dando erro


#1

OI, Estou com um Problema, Aparentemente ocorre tudo bem na Aplicação, porém quando clico no Butão Submit, da erro, o erro e capturado e mostrado numa TextView, mas não entendo o porque, teste e me ajude a saber o que tá acontecendo e como posso arrumar esse erro, pois eu já tentei de todas as maneiras que eu sei e não deu certo, e essa aplicação e um Terminal de comando então quando envio ao clicar no botão submit, não executa, o que obviamente era pra executar.

Abaixo o código:

package com.android;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.*;
import java.util.ArrayList;
import org.elsa.R;

public class MainActivity extends Activity {
 public ArrayList<String> comandos;
 public String comando="^^^^^^";
 public ArrayList<String> resultados;
 public String resultado="/////";
 //public int duration=1000;//milesegundos
 //public boolean paused=false;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState); 
  setContentView(R.layout.activity_main);
  
  final Button consoleSubmit=(Button) findViewById(R.id.consoleSubmit);
  final Button consoleDownLine=(Button) findViewById(R.id.consoleDownLine);
  final Button consoleUpLine=(Button) findViewById(R.id.consoleUpLine);
  final TextView consoleView=(TextView) findViewById(R.id.consoleView);
  final EditText consoleInput=(EditText) findViewById(R.id.consoleInput);
  
  consoleSubmit.setOnClickListener(new View.OnClickListener() {
   public void onClick(View v) {
   try{ comando=consoleInput.getText()+" ";
    comandos.add(comando);
    if("-h"==comando){
   resultado="Use <comando> <argsN> \n Mensagem de Ajuda:\n -h - Mostra uma mensagem de Ajuda.\n";
  }
    resultados.add(resultado);
    consoleView.setText("\n"+resultado);
    }catch(Exception error){
     consoleView.setText(consoleView.getText()+error.getMessage()+"\n========\n"+error.getStackTrace());
    }
   }
});
  
  consoleDownLine.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
     consoleView.setText("789");
     
    }
});
  
  consoleUpLine.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
     consoleView.setText(">>> "+consoleInput.getText().toString());
    }
});
  
 }

}

Abaixo o Layout da Minha Activity:

<?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">

<Button
    android:id="@+id/consoleSubmit"
    android:layout_width="96dp"
    android:layout_height="48dp"
    android:text="Submit" />

<Button
    android:id="@+id/consoleDownLine"
    android:layout_width="96dp"
    android:layout_height="48dp"
    android:text="Down Line" />

<Button
    android:id="@+id/consoleUpLine"
    android:layout_width="96dp"
    android:layout_height="48dp"
    android:text="Up Line" />

<TextView
    android:id="@+id/consoleView"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text=">>> " />

<EditText
    android:id="@+id/consoleInput"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="-h" />

</LinearLayout>

Aguardo sua Ajuda e da Comunidade!
Qualquer apoio ou informação é bem-vinda!


#2

Substitua por isso

try{ comando=consoleInput.getText().toString()+" ";

O metodo getText() da classe EditText retorna um objeto do tipo

android.text.Editable

O metodo toString do Objeto Editable é que retorna o texto do EditText.


#3

Valeu Amigo, obrigado pela ajuda!