java - token "class"上的语法错误

标签 java android eclipse syntax-error nested-class

我正在尝试创建一个嵌套类以使用 AsyncTask,但是 eclipse 在类 SendData 上给我一个错误,提示“ token “类”上的语法错误,无效类型”,为什么它会给我这个错误?

package com.example.myfirstapp;

import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;

import android.os.Bundle;
import android.app.Activity;
import android.view.MenuItem;
import android.support.v4.app.NavUtils;
import android.content.Intent;
import android.widget.TextView;

public class DisplayMessageActivity extends Activity {
    String url = "http://www.mySIte.com/phpFIle";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        Intent intent = getIntent();
        String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

        TextView textView = new TextView(this);
        textView.setTextSize(40);
        textView.setText(message);

        setContentView(textView);

        new SendData().execute();
    }

    private class SendData() extends AsyncTask<Void, Void, Void>{
        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost(url);

        try{
            List<NameValuePair> nameValues = new ArrayList<NameValuePair>(1);
            nameValues.add(new BasicNameValuePair("id", "12345"));
            httppost.setEntity(new UrlEncodedFormEntity(nameValues));

            System.out.println("Before response");
            HttpResponse response = httpclient.execute(httppost);
            System.out.println("After response");

        }catch(ClientProtocolException e){
            e.printStackTrace();
        }catch(IOException e){
            e.printStackTrace();
        }   
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        switch (item.getItemId()) {
        case android.R.id.home:
            NavUtils.navigateUpFromSameTask(this);
            return true;
        }
        return super.onOptionsItemSelected(item);
    }

}

最佳答案

sendData() 是方法语法,不是类

private class SendData() extends AsyncTask<Void, Void, Void>{

应该是

private class SendData extends AsyncTask<Void, Void, Void>{

关于java - token "class"上的语法错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14046525/

相关文章:

java - 类和变量

java - 带有 Cocoon 的 JSF

android - ViewHolder ImageView setVisibility 重复

java - 如何在android中实现地点选择器?

android - 获取 fragment 中的屏幕宽度和高度

java - 按下包含的布局部分时出现 NullPointerException

java - 使用 AND 和 Where 从网页传递空字符串以选择查询时遇到问题

eclipse - 以更有序/结构化的方式存储书签?

java - 使用 Maven(和 Eclipse)管理 Jar 文件外部的资源

java - 您可以将带有 int、double 或只是字符串的数据添加到 JTable 中吗