Java / Android不会在Intent声明中允许“this”作为参数

时间:2014-11-11 20:45:13

标签: java android android-intent

我在私有类中的受保护函数内部定义了一个Intent。我是Java / Android的新手,不知道如何将参数传递给Intent。我一直在使用"这个"在其他活动中,但我收到AndroidStudio的投诉。

Intent setSession = new Intent(this, posterSessionSetup.class);
  

无法解析构造函数Intent(.....

 private class AsyncCaller extends AsyncTask<String, Void, String> {
        protected String doInBackground(String... urls) {
            //get the text input and validate it
            EditText userName = (EditText)findViewById(R.id.txtUserName);
            EditText password = (EditText)findViewById(R.id.passWord);

            return readJSONFeed("mywebservice", userName.getText().toString(), password.getText().toString());
        }
        protected void onPostExecute(String result){
            try {
                JSONObject jsonObject = new JSONObject(result);
                JSONObject r = new JSONObject(jsonObject.getString("r"));
                String status = r.getString("status");
                String msg = r.getString("msg");
                if (status == "complete"){
    --------->>>>>> Intent setSession = new Intent(this, posterSessionSetup.class);
                    startActivity(setSession);
                }
                else {
                    Toast.makeText(getBaseContext(), r.getString("status") + ":" + r.getString("msg"), Toast.LENGTH_SHORT).show();
                }
            } catch(Exception e){
                Log.d("Read Json File", e.getLocalizedMessage());
            }

        }

    }

2 个答案:

答案 0 :(得分:3)

你在the inner class AsyncCaller,所以this指的是那个班级。你可以用例如YourActivityClass.this如果外部类被命名为YourActivityClass以引用外部类

答案 1 :(得分:1)

这指的是asynctask inatance。

Uae活动或其他类别的嵌入。