0

我有一个按钮,代码如下:

public void buttonRegister(View view){
    EditText etUsername = (EditText) findViewById(R.id.etUsername);
    EditText etPassword = (EditText) findViewById(R.id.etPassword);
    final String username = etUsername.getText().toString();
    final String password = etPassword.getText().toString();


    User newUser = new User(username, password);
    newUser.save(new StackMobModelCallback() {

        @Override
        public void failure(StackMobException arg0) {
            // TODO Auto-generated method stub
            System.out.println("fail");
            Toast.makeText(getApplicationContext(), "Fail", Toast.LENGTH_SHORT).show();

        }

        @Override
        public void success() {
            // TODO Auto-generated method stub
            System.out.println("success");
            Toast.makeText(getApplicationContext(), "Success", Toast.LENGTH_SHORT).show();
        }
    });
}

但是应用程序没有显示 Toast ......我该怎么做才能解决这个问题?

4

1 回答 1

1

您可能需要Toast执行UI tread. 像这样的东西:

public void buttonRegister(View view){
    EditText etUsername = (EditText) findViewById(R.id.etUsername);
    EditText etPassword = (EditText) findViewById(R.id.etPassword);
    final String username = etUsername.getText().toString();
    final String password = etPassword.getText().toString();


    User newUser = new User(username, password);
    newUser.save(new StackMobModelCallback() {

        @Override
        public void failure(StackMobException arg0) {
            // TODO Auto-generated method stub
            System.out.println("fail");
            YourActivity.this.runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    Toast.makeText(YourActivity.this, 
                                    "Fail", 
                                    Toast.LENGTH_SHORT).show();
                }
            }                
        }

        @Override
        public void success() {
            // TODO Auto-generated method stub
            System.out.println("success");
            YourActivity.this.runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    Toast.makeText(YourActivity.this, 
                                    "Success", 
                                    Toast.LENGTH_SHORT).show();
                }
            }
        }
    });
}
于 2013-12-12T03:27:19.317 回答