My code:
//GeolocationActivity.java
@Override
public void onLocationChanged(Location arg0) {
if(gpson&&arg0!=null)
{
tv1.setText((int)arg0.getLongitude()); //there is an error
tv2.setText((int)arg0.getLatitude());
tv3.setText((int)arg0.getAccuracy());
}
}
private void setUpGPS()
{
if(locman.isProviderEnabled(LocationManager.GPS_PROVIDER) == false)
{
Intent i = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS);
startActivity(i);
Toast.makeText(getApplicationContext(), R.string.gps_enabling, Toast.LENGTH_LONG).show();
}else{
setContentView(R.layout.subactivity_gps); gpson=true;
//some code removed
tv1 = (TextView)findViewById(R.id.gps_longitude_txt);
tv2 = (TextView)findViewById(R.id.gps_langitude_txt);
tv3 = (TextView)findViewById(R.id.gps_accuracy_text);
Criteria c = new Criteria();
prov = locman.getBestProvider(c, false);
Location loc = locman.getLastKnownLocation(prov);
if(loc!=null)onLocationChanged(loc);
}
}
//setUpGPS() is called in onCreate() - there are also other variables initzialized
Logcat:
10-14 13:52:41.575: E/AndroidRuntime(11386): FATAL EXCEPTION: main
10-14 13:52:41.575: E/AndroidRuntime(11386): android.content.res.Resources$NotFoundException: String resource ID #0x12
10-14 13:52:41.575: E/AndroidRuntime(11386): at android.content.res.Resources.getText(Resources.java:1068)
10-14 13:52:41.575: E/AndroidRuntime(11386): at android.widget.TextView.setText(TextView.java:4546)
10-14 13:52:41.575: E/AndroidRuntime(11386): at com.radzik.myapp.GeolocationActivity.onLocationChanged(GeolocationActivity.java:185)
XML Layout file:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:keepScreenOn="true"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.radzik.myapp.GeolocationActivity" >
//some code removed
<TextView
android:id="@+id/gps_longitude"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/gps_backmain"
android:layout_below="@+id/textView1"
android:layout_marginTop="30dp"
android:text="@string/longitude"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/gps_longitude_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/gps_longitude"
android:layout_alignBottom="@+id/gps_longitude"
android:layout_alignLeft="@+id/textView1"
android:layout_marginLeft="20dp"
android:text=" "
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/gps_langitude"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/gps_longitude"
android:layout_below="@+id/gps_longitude"
android:text="@string/langitude"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/gps_langitude_txt"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/gps_langitude"
android:layout_alignBottom="@+id/gps_langitude"
android:layout_alignLeft="@+id/textView1"
android:text=" "
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/gps_accuracy"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/gps_langitude"
android:layout_below="@+id/gps_langitude"
android:text="@string/gps_accuracy"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TextView
android:id="@+id/gps_accuracy_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/gps_langitude_txt"
android:layout_toRightOf="@+id/gps_longitude_txt"
android:text=" "
android:textAppearance="?android:attr/textAppearanceMedium" />
//some code removed
</RelativeLayout>
I don't know reason of this error. Tried debugging, but nothing found - everything is defined propely. Please help me in this case
You are giving an integer value to textview so that it will find the matching id in R.java
try concatinating the value like this
@Override
public void onLocationChanged(Location arg0) {
if(arg0!=null)
{
tv1.setText(String.valueOf(arg0.getLongitude())); //there is an error
tv2.setText(String.valueOf(arg0.getLatitude()));
tv3.setText(String.valueOf(arg0.getAccuracy()));
}
}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With