Java Android-requestLocationUpdates导致标识符预期错误

Java Android-requestLocationUpdates导致标识符预期错误,java,android,gps,identifier,Java,Android,Gps,Identifier,编辑:请注意,虽然我收到了一个答案,但我不明白哪里出了问题,或者为什么解决方案会修复它。我仍在寻找揭穿 我收到错误信息: error: (identifier) expected 在线 locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener); 其中,所需的标识符指向“(” [注意:我实际上得到了四个指向“(”、“0”、“0”和“)”的错误] 当我在语法上出

编辑:请注意,虽然我收到了一个答案,但我不明白哪里出了问题,或者为什么解决方案会修复它。我仍在寻找揭穿

我收到错误信息:

error: (identifier) expected
在线

locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);
其中,所需的标识符指向“(”

[注意:我实际上得到了四个指向“(”、“0”、“0”和“)”的错误]

当我在语法上出错时,我总是会遇到这个错误,但这次我找不到它。我的代码相对较短,所以我会通过它,但请注意,当我注释掉上面的错误行时,代码工作得非常好

import android.app.Activity;
import android.os.Bundle;
import android.widget.Button;
import android.view.View.*;
import android.view.View;
import android.content.Context;
import java.lang.CharSequence;
import android.widget.Toast;
import android.location.*;


public class Entrance extends Activity
{

/** Called when the activity is first created. */
@Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        Button bGPS = (Button)findViewById(R.id.button_gps);
        bGPS.setOnClickListener(bGPSListener);
    }

LocationManager locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE);

LocationListener locationListener = new LocationListener()
{
    public void onLocationChanged(Location location)
    {
        Context context = getApplicationContext();
        CharSequence text = "Location found.";
        int duration = Toast.LENGTH_SHORT;

        Toast toast = Toast.makeText(context, text, duration);
        toast.show();
    }

    public void onStatusChanged(String provider, int status, Bundle extras) {}

    public void onProviderEnabled(String provider) {}

    public void onProviderDisabled(String provider) {}
};

locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);   

private OnClickListener bGPSListener = new OnClickListener()
{
    public void onClick(View v)
    {
        Context context = getApplicationContext();
        CharSequence text = "Hello toast!";
        int duration = Toast.LENGTH_SHORT;

        Toast toast = Toast.makeText(context, text, duration);
        toast.show();
    }
};
}

你们不能只在类中创建任何方法,至少把它放在这样一个单独的部分

{
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);   
}

你们不能只在类中创建任何方法,至少把它放在这样一个单独的部分

{
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);   
}
代码行在类中任何方法的“外部”。您可以将其返回值赋给成员变量,这将允许它位于该行上,但在编程中这被视为“坏形式”

将调用移到类将调用的方法中。

代码行在类中任何方法的“外部”。您可以将其返回值赋给允许其位于该行的成员变量,但这在编程中被视为“错误形式”


将调用移到类将调用的方法中。

这很有效!但是-为什么?它在入口类中,不应该运行吗?隔离它有什么作用?仅用大括号将其括起来是没有帮助的。除了变量声明之外,所有Java代码都需要在方法或
静态
块中。显然,它只是限制了ine?互联网上说这是一种以前从未见过的构造器:)它起作用了!但是——为什么?它在入门课上,不是应该跑吗?隔离它有什么作用?仅仅用大括号将其封闭是没有帮助的。除了变量声明之外,所有Java代码都需要位于方法或
静态块中。显然,它只是限制了线路的范围?互联网上说这是一种以前从未见过的构造器:)