[英]Android studio: No toast message when button is clicked
我做了吐司按摩,應該在單擊按鈕時顯示,但那不會發生
public class CreateEmailActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_create_email);
Button send = findViewById(R.id.bntSendMail);
send.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(getApplicationContext(),"Sending...",Toast.LENGTH_SHORT).show();
}
});
}
...
...
}
您可以嘗試以下方法:
public class CreateEmailActivity extends Activity implements View.OnClickListener {
//Declare Button
Button send;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_create_email);
//Intialize Button
send = (Button) findViewById(R.id.bntSendMail);
send.setOnClickListener(CreateEmailActivity.this);
}
@Override
public void onClick(View v) {
switch(v.getId()) {
case R.id.bntSendMail:
Toast.makeText(this, "Sending...",Toast.LENGTH_SHORT).show();
break;
}
}
}
我認為問題在於如何初始化按鈕,但是通過這種方式,您可以以更簡潔的方式處理更多的點擊事件。
嘗試
Toast.makeText( CreateEmailActivity.this,"Sending...",Toast.LENGTH_SHORT).show();
將getApplicationContext()替換為上下文。
public class CreateEmailActivity extends AppCompatActivity {
private Context context = CreateEmailActivity.this; //Add this
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_create_email);
Button send = findViewById(R.id.bntSendMail);
send.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Toast.makeText(context,"Sending...",Toast.LENGTH_SHORT).show();
}
});
}
...
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.