stringBuilder.append(" string") - 不可替换的语句

时间:2015-11-28 00:46:23

标签: java android

一个简单的问题,为什么这是错误的?

 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;
                   }
       }
标记的行上的

出现(不可取的陈述)......

3 个答案:

答案 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);
}