編集:私が回答を受け取っているうちに、何が間違っているのか、解決策が解決したのか分かりません。私はまだ、私はエラー受け付けております...暴くためAndroid - requestLocationUpdatesにより識別子が予想されるエラーが発生する
を探しています:識別子が期待されるところ「(」にポイントをライン上
error: (identifier) expected
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);
を
[注:私は実際にこれらのエラーの4つを指します "("、 "0"、 "0"、および ")"]
I私は文法にこだわるといつもこのエラーが出ますが、今回はそれを見つけることができません。私のコードは比較的短いので、私はそれをやりますが、上の違反行をコメントアウトすると、コードは完全にうまく動作することをご存知でしょうか。
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();
}
};
}
それがうまくいった!しかし、なぜ?それはEntranceクラスにあります。実行しないでください。それを隔離するのは何ですか? – sdasdadas
それを中括弧で囲むだけでは役に立ちません。変数宣言以外のすべてのJavaコードは、メソッドまたは 'static'ブロック内にある必要があります。 – zapl
zapl:私はそれが動作するとは思わなかったが、コンパイルは... – sdasdadas