如何在onPostExecute中创建一个方法?

时间:2016-09-04 13:12:15

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

我试图把if else放在按钮上点击

这是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中创建一个方法,但我不知道如何。

2 个答案:

答案 0 :(得分:2)

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

  

viewword.getText()的toString();

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

  

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

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

希望这会有所帮助:)

答案 1 :(得分:0)

您无法在方法中创建方法,您可以在AsyncTask类中创建方法,并在onPostExecute方法中调用它。