按钮单击不起作用:按钮不起作用

时间:2017-11-20 20:59:07

标签: java android onclicklistener

我使用下面的课程并且我在过去24小时内一直在努力,我无法弄清楚为什么它不起作用。当我按下按钮时它什么也没做。

我创建了这个,所以我可以验证使用登录信息

我的班级

public class login extends AppCompatActivity  {
Button button11;
EditText usernameField, passwordField;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);


    usernameField = (EditText) findViewById(R.id.user);
    passwordField = (EditText) findViewById(R.id.password);


    Button clickButton = (Button) findViewById(R.id.loginButton);
    clickButton.setOnClickListener( new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            Toast.makeText(getApplicationContext(),"it 
            clicked",Toast.LENGTH_LONG);
            TextView mt=(TextView) findViewById(R.id.messy);

            mt.setText("Please Wait");
        }
    });


}}

我在https://codeshare.io/5XWxOE

上添加了我的XML文件

5 个答案:

答案 0 :(得分:1)

您正在创建Toast但不要将其调用以显示其内容尝试代码自爆:

 @Override
        public void onClick(View v) {
            Toast.makeText(getApplicationContext(),"it 
            clicked",Toast.LENGTH_LONG).show();
            TextView mt=(TextView) findViewById(R.id.messy);

            mt.setText("Please Wait");
        }

您忘记使用 show()

答案 1 :(得分:0)

请尝试此解决方案

 Toast.makeText(login.this,"it 
        clicked",Toast.LENGTH_LONG).show;

而不是getApplicationContext()。

答案 2 :(得分:0)

  

试试这个......

TextView mt; 
Button clickButton;      


mt=(TextView) findViewById(R.id.messy);
clickButton = (Button) findViewById(R.id.loginButton);

    clickButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

             Toast.makeText(this, "Button click toast", Toast.LENGTH_SHORT).show();
             mt.setText("Your text here");
                }
            });

答案 3 :(得分:0)

当事情变得很奇怪时......你可以查看基本日志。试试这个〜

public class login extends AppCompatActivity  {

Button button11;
EditText usernameField, passwordField;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_login);


    usernameField = (EditText) findViewById(R.id.user);
    passwordField = (EditText) findViewById(R.id.password);


    Button clickButton = (Button) findViewById(R.id.loginButton);

    clickButton.setText("Button Found");

    clickButton.setOnClickListener( new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        clickButton.setText("Button Clicked");
        }
    });
}}

答案 4 :(得分:0)

还有另一种编写按钮点击代码的方法

public class login extends AppCompatActivity implements View.OnClickListener {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);

        Button firstButton = (Button) findViewById(R.id.loginButton);
        firstButton.setOnClickListener(this);

    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {
            case R.id.loginButton: {
                Toast.makeText(login.this, "Button click toast", Toast.LENGTH_SHORT).show();

                TextView textView = (TextView) findViewById(R.id.messy);
                textView.setText("Your text here");
                break;
            }
            default: {
                Toast.makeText(login.this, "Something happens", Toast.LENGTH_SHORT).show();
                break;
            }
        }
    }
}

我希望这能解决您的问题。