【问题标题】:error in doing onLongClickListener(Android Studio)执行 onLongClickListener(Android Studio)时出错
【发布时间】:2014-11-28 17:35:42
【问题描述】:

我有一个带有文本的EditText,并且有一个按钮,我希望代码生成的是,当在 Button(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); 行带有红色下划线(错误),我想解决这个问题...

【问题讨论】:

  • onLongClick() 中的第一条语句是 return false;,它结束了方法,之后就什么都没有了。
  • 我删除了那行,它说:“Missing return statement”,我该怎么办?
  • 放在方法的最后。
  • 如果可行,请尽可能接受答案。

标签: java android-studio onlongclicklistener


【解决方案1】:

现在onLongClick() 中执行的第一条语句是return false;,它将结束该方法。方法中之后的任何和所有代码都无法访问。 return 应该是你方法中的最后一件事。

您需要像这样将 return 语句移到方法的末尾。

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;
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-21
    • 2019-10-23
    • 1970-01-01
    相关资源
    最近更新 更多