0

オブジェクトを作成して TreeSet に保存するアプリを作成しようとしていますが、ボタンを押すとアプリがクラッシュします。私は助けが必要です

MainActivity は以下のとおりです。

public class MainActivity extends Activity {
private TreeSet<Variable> arbreDeVariables = new TreeSet<Variable>();

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    creeUneVariable();
}

private void creeUneVariable() {
    Button boutonEnvoyer = (Button)findViewById(R.id.button1);
    boutonEnvoyer.setOnClickListener(new OnClickListener(){
        public void onClick(View v) {
            Variable variable = new Variable(getUsername(), getPassword());
            arbreDeVariables.add(variable);
        }

    });
}
private String getUsername(){
    final EditText username = (EditText)findViewById(R.id.editText1);
    return username.getText().toString();
}
private String getPassword(){
    final EditText password = (EditText)findViewById(R.id.editText2);
    return password.getText().toString();

}


}

「変数」クラスは次のとおりです。

public class Variable {
private String username;
private String password;

public Variable(String username,String password){
    this.username = username;
    this.password = password;
}

public String getUsername() {
    return username;
}

public void setUsername(String username) {
    this.username = username;
}

public String getPassword() {
    return password;
}

public void setPassword(String password) {
    this.password = password;
}

public String toString(){
    return "Username: "+username+" Password: "+password;
}

}

4

2 に答える 2

0

コードで使用しているように、editTextまたはボタンの1つに名前が付けられていないと思います..したがって、NullPointerExceptionが発生します

于 2013-06-15T11:44:29.033 に答える
0

私はこの方法を使用しようとするコードをほとんど変更していません..

 public class MainActivity extends Activity {
   private TreeSet<Variable> arbreDeVariables = new TreeSet<Variable>();

   protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      Button boutonEnvoyer = (Button)findViewById(R.id.button1);
      boutonEnvoyer.setOnClickListener(new OnClickListener(){
          public void onClick(View v) {
            Variable variable = new Variable(getUsername(), getPassword());
            arbreDeVariables.add(variable);
          }
      });
    }

    private String getUsername(){
        final EditText username = (EditText)findViewById(R.id.editText1);
        return username.getText().toString();
    }
    private String getPassword(){
        final EditText password = (EditText)findViewById(R.id.editText2);
        return password.getText().toString();
    }
}
于 2013-06-15T11:47:19.333 に答える