编辑:请注意,虽然我收到了答案,但我不明白什么是错的,或者为什么解决方案会修复它。我还在寻找一个揭穿......
我收到错误:
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();
}
};
}
答案 0 :(得分:2)
代码行是类中任何方法的“外部”。您可以将其返回值分配给一个成员变量,该变量允许它在该行上,但在编程中被认为是“不良形式”。
将调用移动到您的类将调用的方法中。
答案 1 :(得分:1)
你不能只在类中调用任何方法,至少把它放在像这样的单独部分
{
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);
}