一个简单的问题,为什么这是错误的?
public class SingleTouch extends Activity implements View.OnTouchListener {
StringBuilder builder = new StringBuilder();
String mensaje = ("el estado del tuch es: ");
TextView text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
text = new TextView(this);
setContentView(text);
text.setOnTouchListener(this);
}
public boolean onTouch(View v ,MotionEvent event) {
return super.onTouchEvent(event);
switch (event.getAction()){
case MotionEvent.ACTION_DOWN:
//Line throwing error
builder.append("anything");
break;
}
}
标记的行上的出现(不可取的陈述)......
答案 0 :(得分:0)
将此行移至onTouch
方法的末尾:
return super.onTouchEvent(event);
由于该指令是第一个在您的方法中执行的指令,因此永远不会到达其余的代码。
public boolean onTouch(View v ,MotionEvent event) {
switch() ....
return super.onTouchEvent(event);
}
答案 1 :(得分:0)
因为从超类调用方法时使用“return”。
return super.onTouchEvent(event);
答案 2 :(得分:0)
你应该像这样编辑onTouch
public boolean onTouch(View v ,MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
builder.append("anything");
break;
}
return super.onTouchEvent(event);
}