0

我尝试将该方法实现到我的 Button 中onClickListener,然后我得到了一个Syntax Error.

下面是我的代码:

// button click event
btnCreateNewEvent.setOnClickListener(new View.OnClickListener() {

public void onClick(View view) {
// Checking for server respond
if (serverRespond() == false) {
           //DO SOMETHING
}

以下是我的ServerRespond外部onCreate方法

// Check server respond    
public boolean serverRespond() {
boolean success = false;
    try {
        URL url = new URL(url_create_event);
        HttpURLConnection urlcon = (HttpURLConnection) url.openConnection();
        urlcon.connect();
        if (urlcon.getResponseCode() == 200) {
            success = true;
        }
    } catch (Exception e) {
        Log.e(create_error.toString(), "Server is not responding");
    }
    return success;
}

错误:在if(serverRespond()==true){

"The method serverRespond() is undefined for the type new View.OnClickListener(){}"
4

3 回答 3

3

您可以通过以下方式访问:

YourActivity.this.serverRespond()
于 2012-08-22T04:44:45.583 回答
1

我认为您正在通过以下方式调用 serverRespond() 方法:

this.serverRespond();

由于此方法在实现 OnClickListener 的类中,因此它将在此类或 OnClickListener 中搜索此方法。将其更改为:

serverRespond();

或者

YourActivity.this.serverRespond()

根据Michel-F的回答。波特泽特。

于 2012-08-22T04:50:01.740 回答
1
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    Button btn = (Button) findViewById(R.id.btn);
    btn.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub
            if (serverRespond() == false) {
                Toast.makeText(getApplicationContext(), "onClick",
                        Toast.LENGTH_LONG).show();
            }

        }
    });

}



public boolean serverRespond() {
    Toast.makeText(getApplicationContext(), "serverRespond",
            Toast.LENGTH_LONG).show();
    return false;
}
于 2012-08-22T04:51:40.053 回答