最近Androidを使い始めました。私はAndroidの経験があまりありません。Androidを使用するのはこれが初めてです。画面を2等分してから、いくつかのタスクを実行する必要があります。
- 画面を2等分した後、後半(下半分を意味します)に、現在の緯度の値を表示
Latitude
するaに対応する名前のラベルTextbox
と、現在の緯度の値を表示する別のラベルを作成する必要があります。経度の値。Longitude
Textbox
私はこれに取り組み始めました、そして私はいくつかの進歩を遂げました-以下は私が現在画面を2等分するために使用している私のXMLファイルです。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1.8"
android:background="#000000" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#000000" >
<!-- Latitude Label -->
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Latitude"
android:textColor="#372c24" />
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="20dip"
android:layout_marginTop="5dip"
android:singleLine="true" />
<!-- Longitude Label -->
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Longitude"
android:textColor="#372c24" />
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dip"
android:password="true"
android:singleLine="true" />
</LinearLayout>
</LinearLayout>
私の質問は-
- 上記のXMLファイルを使用した後、Android画面で自分の
both label
をboth textbox
正しく表示できません。ここで、XMLファイルに不足しているものはありますか? - 次に、対応するテキストボックスに現在の緯度と経度の値を表示する方法を説明します。
私はAndroidの世界に慣れていないので、どんな助けでもありがたいです。
更新:-以下は私が絵の具で作った図です、私はそのようなものが欲しいです。
画面を見ると、2つの部分に分かれており、下半分には2つのラベル(緯度と経度)があり、そのようになっているはずです。各ラベルの前に、次のようなテキストボックスがあります。対応する緯度と経度の値を保持します。
更新コード:-現在地の場合-
public class MainActivity extends Activity implements LocationListener {
private TextView latituteField;
private TextView longitudeField;
private LocationManager locationManager;
private String provider;
private static final String TAG = "CurrentLocation";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
latituteField = (TextView) findViewById(R.id.lat1);
longitudeField = (TextView) findViewById(R.id.lat2);
// Get the location manager
locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
// Define the criteria how to select the location provider -> use
// default
Criteria criteria = new Criteria();
provider = locationManager.getBestProvider(criteria, false);
locationManager.requestLocationUpdates(provider, 0, 0, this);
Location location = locationManager.getLastKnownLocation(provider);
onLocationChanged(location);
}
@Override
protected void onDestroy() {
super.onDestroy();
locationManager.removeUpdates(this);
}
@Override
public void onLocationChanged(Location location) {
if (location != null) {
System.out.println("Provider " + provider + " has been selected.");
int lat = (int) (location.getLatitude());
int lng = (int) (location.getLongitude());
Log.v(TAG, lat+ " "+ lng);
latituteField.setText(String.valueOf(lat));
longitudeField.setText(String.valueOf(lng));
} else {
latituteField.setText("Provider not available");
longitudeField.setText("Provider not available");
}
}
@Override
public void onProviderDisabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onProviderEnabled(String provider) {
// TODO Auto-generated method stub
}
@Override
public void onStatusChanged(String provider, int status, Bundle extras) {
// TODO Auto-generated method stub
}
}
しかし、以下のコードは、対応するテキストボックスに緯度または経度の値を表示していませんか?私がしている何か間違っていますか?