Android无法找到符号变量错误

时间:2015-09-09 01:13:29

标签: java android

我跟随examplehttp://developer.android.com来构建一个简单的应用来查找最后的已知位置。我在活动文件的以下代码段中收到变量cannot find symbol variablemLastLocationmLatitudeText的{​​{1}}错误:

mLongitudeText

变量也未在样本中定义。我该如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

Android开发者网站的链接并未指向特定的教程,因此我可以直接与该教程对话。但是,mLatitudeTextmLongitudeText似乎很简单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()));
    }
  }
}