我跟随example的http://developer.android.com来构建一个简单的应用来查找最后的已知位置。我在活动文件的以下代码段中收到变量cannot find symbol variable
,mLastLocation
和mLatitudeText
的{{1}}错误:
mLongitudeText
变量也未在样本中定义。我该如何解决这个问题?
答案 0 :(得分:1)
Android开发者网站的链接并未指向特定的教程,因此我可以直接与该教程对话。但是,mLatitudeText
和mLongitudeText
似乎很简单TextView
。如果没有创建它们,您可以创建它们并自己将它们添加到活动中。
答案 1 :(得分:1)
您需要在UI或main_activity.xml文件中定义两个提到的TextView小部件
....
<TextView
android:text="-"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textview1"
/>
<TextView
android:text="-"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/textview2"
/>
....
..然后在MainActivity.java文件的代码中引用它们。 对于mLastLocation,它必须是位置类型,因为函数 getLastLocation 会返回位置类型。
public class MainActivity extends ActionBarActivity implements
ConnectionCallbacks, OnConnectionFailedListener {
Location mLastLocation;
TextView mLatitudeText,mLongitudeText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mLatitudeText=(TextView)findViewById(R.id.textview1);
mLongitudeText=(TextView)findViewById(R.id.textview2);
}
...
@Override
public void onConnected(Bundle connectionHint) {
mLastLocation = LocationServices.FusedLocationApi.getLastLocation(
mGoogleApiClient);
if (mLastLocation != null) {
mLatitudeText.setText(String.valueOf(mLastLocation.getLatitude()));
mLongitudeText.setText(String.valueOf(mLastLocation.getLongitude()));
}
}
}