проблема с падением активности при вызове функции - PullRequest
0 голосов
/ 05 августа 2011

я впервые на этом форуме, так что простите, если мой вопрос кажется странным.Я постараюсь быть максимально тщательным.Я создаю программу перевода.эта программа имеет активность меню, активность перевода, активность добавления слова.Три действия связаны друг с другом посредством намерений, и они добавляются в файл манифеста.В деятельности по переводу я хочу создать метод для перевода.После нажатия кнопки перевода программа вылетает.

public class VertaalActivity extends Activity {
private Button vertaal;
private Button terug;
private EditText ET_NL;
private EditText ET_EN;
private ArrayList<String>nlWoorden = new ArrayList<String>();
private ArrayList<String>enWoorden = new ArrayList<String>();

public void Vertaal(){

    String woord = ET_NL.getText().toString();

        if(nlWoorden.contains(woord)){
            int i = nlWoorden.indexOf(woord);
            ET_EN.setText(enWoorden.get(i));
        }else{
            ET_EN.setText("Woord niet gevonden");
        }

}

public void ArrayVullen(){
    nlWoorden.add("auto");
    nlWoorden.add("bord");
    nlWoorden.add("trein");
    nlWoorden.add("spel");
    nlWoorden.add("scherm");
    nlWoorden.add("toetsenbord");
    nlWoorden.add("foto");
    enWoorden.add("car");
    enWoorden.add("plate");
    enWoorden.add("train");
    enWoorden.add("game");
    enWoorden.add("screen");
    enWoorden.add("keyboard");
    enWoorden.add("picture");
}

public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);
    setContentView(R.layout.vertalerlayout);
    terug = (Button)findViewById(R.id.terug);
    vertaal = (Button)findViewById(R.id.vertalen);

    ArrayVullen();

    vertaal.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            Vertaal();

            /*
             * Tested the toast and the toast shows the text 
             * 
            Context context = getApplicationContext();
            CharSequence text = "Hello toast!";
            int duration = Toast.LENGTH_SHORT;

            Toast toast = Toast.makeText(context, text, duration);
            toast.show();
            */
        }

    });

    terug.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            Intent intent = new Intent(VertaalActivity.this,MenuActivity.class);
            startActivity(intent);

        }
    });

}

}

Ответы [ 2 ]

1 голос
/ 05 августа 2011

Попробуйте этот код перед использованием поля editText

ET_NL= (EditText)findViewById(R.id.edittext1);
ET_EN = (EditText)findViewById(R.id.edittext2);
1 голос
/ 05 августа 2011

Я не вижу, что вы получаете EditTexts из вашего XML (как вы делаете с кнопками). Перед использованием ET_NL вам нужно сделать что-то вроде этого:

ET_NL = (EditText)findViewById(R.id.etnl); // Or whatever id you've declared in your layout XML

То же самое относится и к переменной ET_EN. В противном случае в вашем методе Vertaal () будет значение null, что приведет к сбою приложения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...