我有一个带有文本的EditText,还有一个按钮,我想要代码做的是,当长时间点击按钮(IButton1)时,EditText's就会消失……守则:
private void Delete() {
ImageButton IButton1=(ImageButton)findViewById(R.id.ibdelete);
//Click:
IButton1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(),"A long click is required in order to delete the text", Toast.LENGTH_LONG).show();
}
});
//Long Click:
IButton1.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
return false;
EditText text1 = (EditText) findViewById(R.id.EditText1);
text1.setText("");
Toast.makeText(getApplicationContext(), "The text is gone!", Toast.LENGTH_SHORT).show();
}
});
}现在,问题是它说:“无法到达的语句”和行EditText text1 = (EditText) findViewById(R.id.EditText1);是下划线红色(一个错误),我想解决这个问题.
发布于 2014-11-28 17:44:13
现在,在onLongClick()中执行的第一个语句是return false;,它将结束该方法。方法中的任何和所有代码都是永远无法到达的。返回应该是您的方法中的最后一件事。
您需要将返回语句移到方法的末尾,如下所示。
public boolean onLongClick(View v) {
EditText text1 = (EditText) findViewById(R.id.EditText1);
text1.setText("");
Toast.makeText(getApplicationContext(), "The text is gone!", Toast.LENGTH_SHORT).show();
return false;
}https://stackoverflow.com/questions/27193596
复制相似问题