2011-08-05 15 views
0

これはこのフォーラムで初めてのことです。私の質問が奇妙に思えるなら、私を許してください。私は可能な限り徹底しようとします。 私は翻訳プログラムを作成しています。 このプログラムには、メニューアクティビティ、翻訳アクティビティ、アドワーズアクティビティがあります。 3つのアクティビティは、インテントによってリンクされており、マニフェストファイルに が追加されています。 翻訳アクティビティでは、翻訳するためのメソッドを作成したいと思います。 翻訳ボタンを押すと、プログラムがクラッシュします。関数が呼び出されたときにアクティビティがクラッシュする問題

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); 

     } 
    }); 

} 

}

+1

はエラーメッセージを投稿することができますのEditTextフィールドを使用する前にこのコードを試してみてください? – TofferJ

+0

マニフェストファイルも投稿できますか? –

+0

わかりませんが、ちょうどそうすべきですか?: Intent intent = new Intent(view.getContext()、MenuActivity.class); – Joost

答えて

1

(あなたがボタンで行うように)あなたがXMLからEditTextsを得ることを私は見ることができません。 ET_NLを使用する前に、次のようにする必要があります。

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

ET_EN変数にも同じことが起こります。それ以外の場合は、Vertaal()メソッドでnullになり、アプリがクラッシュする可能性があります。

+0

回答がOKです。私の愚かな間違い。これを試みます。 – user880081

+1

私たちは皆、いつも愚かな間違いをしています。あなたの問題を解決するのに役立つ場合は、その答えを受け入れるようにしてください。返信の場合は – TofferJ

+0

thxです。それを試して、それは魅力のように働いた。 – user880081

1

この問題が発生したときLogCatに

ET_NL= (EditText)findViewById(R.id.edittext1); 
ET_EN = (EditText)findViewById(R.id.edittext2); 
+0

このコードはうまくいきました。すべての助けのためのthx! – user880081

関連する問題