2012-12-26 41 views
4

我想創建一個嵌套的類爲了使用AsyncTask,但是eclipse給了我類SendData上的一個錯誤,說「令牌上的語法錯誤」類,「無效類型」爲什麼是它給了我那個錯誤?令牌「類」的語法錯誤

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

} 
+6

因爲類名稱不有括號? –

回答

13

送出數據()是一個方法的語法,而不是一類

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

應該

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

您在這裏有兩個methodclass語法。不確定你想要哪一個。

如果要定義一個類,然後刪除()