【问题标题】:How to create a method inside the onPostExecute?如何在 onPostExecute 中创建方法?
【发布时间】:2017-01-12 00:55:05
【问题描述】:

我尝试将 if else 放在按钮 onClick 内

这是 onClick

@Override
        public void onClick(View view) {
                ettext.getText().toString();
                viewword.getText().toString();
                select();

                if(viewword.equals("")) {

                    Toast.makeText(getBaseContext(), "Does not exist in database.1", Toast.LENGTH_LONG).show();
                }else{
                    sendChatMessage();
                }


        }

这是 onPostExecute

@Override
        protected void onPostExecute(String result) {
            TextView disp = (TextView) findViewById(R.id.view);
            try {
                JSONObject json_data = new JSONObject(result);
                word = json_data.getString("server_response");
                disp.setText(word);


            } catch (JSONException e) {
                disp.setText("");
            }

        }

问题是应用程序没有读取 if else 语句并继续执行 onPostExecute。我的解决方案是在 onPostExecute 中创建一个方法,但我不知道如何。

【问题讨论】:

  • 提示:暂时停止做android。只需学习基本的 Java 基础知识。 Android 是一个高级话题,你甚至不了解如何编写正确的 Java 代码的规则。说真的:您正在尝试奔跑,却丝毫不知道如何爬行。学习 Java。否则你对 Android 的实验只会令人沮丧。因为什么都行不通。

标签: java android if-statement methods android-asynctask


【解决方案1】:

这里的问题不是 onPostExecute 而是你的代码。

viewword.getText().toString();

这只是一个字符串值,当您检查它是否为空时,您需要将其存储在某个变量中。因此,您的代码应该是

String checkVariable =viewword.getText().toString(); if(checkVariable.equals(""){ \\your code}

if(viewword.getText().toString().equals("")

希望这会有所帮助:)

【讨论】:

  • 我尝试了你给我的代码,但出现了一个新的。如果我输入了一个单词,数据库将无法读取,并且它说该单词不存在,即使它确实存在。有没有可能的解决方案?
【解决方案2】:

不能在方法中创建方法,可以在AsyncTask类中创建方法并在onPostExecute方法中调用。

【讨论】:

  • 您能详细说明一下吗?我没听懂:(
猜你喜欢
  • 2020-12-25
  • 2017-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-01
  • 2014-12-24
  • 2019-11-16
相关资源
最近更新 更多