我正试图在Android Studio中编译我的代码,代码在这里。
choice1.setOnClickListener(new View.OnClickListener(){
public void onClick(View view)
{
if(choice1.getText().equals(result))
showToastMessage(true);
else
showToastMessage(false);
}
});
Android Studio说所有的行都是非法的,不能在android模拟器中运行,因为它不能被编译。谁能帮我解决一下,到底是什么问题?
EDIT:这是我在这个具体实例中使用的代码。
public class FullscreenActivity extends AppCompatActivity {
private String result = "New York";
private Button choice1 = (Button)findViewById(R.id.choice1);
private Button choice2 = (Button)findViewById(R.id.choice2);
private Button choice3 = (Button)findViewById(R.id.choice3);
@Override protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_fullscreen);
}
choice1.setOnClickListener(new View.OnClickListener(){
public void onClick(View view)
{
if(choice1.getText().equals(result))
showToastMessage(true);
else
showToastMessage(false);
}
});
choice2.setOnClickListener(new View.OnClickListener(){
public void onClick(View view) {
if(choice2.getText().equals(result))
showToastMessage(true);
else
showToastMessage(false);
}
});
choice3.setOnClickListener(new View.OnClickListener(){
public void onClick(View view) {
if(choice3.getText().equals(result))
showToastMessage(true);
else
showToastMessage(false);
}
});
}
private void showToastMessage(boolean showToastMessage)
{
if(showToastMessage)
Toast.makeText(this, "Correct", toast.LENGTH_SHORT).show();
else
Toast.makeText(this, "Wrong", Toast.LENGTH_SHORT).show();
}
只是我不知道我所学的代码是旧的,还是我犯了错误,或者是什么情况,我只是想尽可能的学习它,所以我才会问。谢谢大家的回复!<3
你必须在其中一个生命周期的回调中加入一个点击监听器。如果它是一个活动,把代码移到 "活动 "中。onCreate()
方法。
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.filters);
choice1.setOnClickListener(new View.OnClickListener(){
public void onClick(View view)
{
if(choice1.getText().equals(result))
showToastMessage(true);
else
showToastMessage(false);
}
});
}
如果它是一个片段,把它放在 onViewCreated()
.