我想询问如何在TEXT_HERE
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT,TEXT_HERE);
我已使用位置管理器通过gps检索当前的经度和纬度。然后,我将这两个值设置为longitude_placeholder
和latitude_placeholder
,以向用户显示其当前位置。
像这样:
@Override
public void onLocationChanged(Location location)
{
TextView longitude = (TextView) findViewById(R.id.longitude_placeholder);
TextView latitude = (TextView) findViewById(R.id.latitude_placeholder);
longitude.setText("Longitude :" + location.getLongitude());
latitude.setText("Latitude : " + location.getLatitude());
}
然后我创建了一个按钮btn_share
并使用onClick
方法来创建sharingIntent函数。
public void onClick(View v)
{
Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
sharingIntent.setType("text/plain");
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, LONGITUDE_HERE);
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, LATITUDE_HERE);
startActivity(Intent.createChooser(sharingIntent, "Share via"));
}
现在的问题。如何使用LONGITUDE_HERE
方法检索的值设置LATITUDE_HERE
和onLocationChanged
,以便通过点击按钮分享经度和纬度值?
任何帮助将不胜感激。 提前致谢。
答案 0 :(得分:1)
将2个字符串声明为全局
字符串LONGITUDE_HERE ="&#34 ;;
String LATITUDE_HERE ="";
@Override
public void onLocationChanged(Location location)
{
TextView longitude = (TextView) findViewById(R.id.longitude_placeholder);
TextView latitude = (TextView) findViewById(R.id.latitude_placeholder);
longitude.setText("Longitude :" + location.getLongitude());
latitude.setText("Latitude : " + location.getLatitude());
LONGITUDE_HERE=""+location.getLongitude();
LATITUDE_HERE=""+location.getLatitude();
}
在onClick
public void onClick(View v)
{
Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
sharingIntent.setType("text/plain");
if(LONGITUDE_HERE!=null&&LATITUDE_HERE!=null)
{
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT1, LONGITUDE_HERE);
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT2, LATITUDE_HERE);
}
startActivity(Intent.createChooser(sharingIntent, "Share via"));
}
答案 1 :(得分:0)
有两种方法可以做:
1)声明您的TextView'
全局
2)声明您的latitude
和longitude
变量全局,然后使用
longitude = location.getLongitude();
latitude = location.getLatitude();
之后您可以使用这两个变量来共享额外的文本或从textview中获取文本
答案 2 :(得分:0)
为位置更改变量static
并在共享意图中使用它。
答案 3 :(得分:0)
您可以为纬度和经度创建全局变量。
并修改
@Override
public void onLocationChanged(Location location)
{
TextView longitude = (TextView) findViewById(R.id.longitude_placeholder);
TextView latitude = (TextView) findViewById(R.id.latitude_placeholder);
lattitudeString = location.getLatitude();
longitudeString = location.getLongitude();
longitude.setText("Longitude :" + location.getLongitude());
latitude.setText("Latitude : " + location.getLatitude());
}
您可以使用这两个变量替换LONGITUDE_HERE
和LATITUDE_HERE
。