3

最近Androidを使い始めました。私はAndroidの経験があまりありません。Androidを使用するのはこれが初めてです。画面を2等分してから、いくつかのタスクを実行する必要があります。

  1. 画面を2等分した後、後半(下半分を意味します)に、現在の緯度の値を表示Latitudeするaに対応する名前のラベルTextboxと、現在の緯度の値を表示する別のラベルを作成する必要があります。経度の値。LongitudeTextbox

私はこれに取り組み始めました、そして私はいくつかの進歩を遂げました-以下は私が現在画面を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>

私の質問は-

  1. 上記のXMLファイルを使用した後、Android画面で自分のboth labelboth textbox正しく表示できません。ここで、XMLファイルに不足しているものはありますか?
  2. 次に、対応するテキストボックスに現在の緯度と経度の値を表示する方法を説明します。

私は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

    }
}

しかし、以下のコードは、対応するテキストボックスに緯度または経度の値を表示していませんか?私がしている何か間違っていますか?

4

1 に答える 1

3

「上記のXMLファイルを使用した後、Android画面で両方のラベルと両方のテキストボックスを正しく表示できません。XMLファイルに不足しているものはありますか?」

LinearLayoutタグがめちゃくちゃになっている可能性があります。

これがあなたが探しているものに近いかどうかを確認してください:

<?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"
    android:background="@android:color/black" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical" >

        <!-- currently empty -->

    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        android:orientation="vertical" >

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="horizontal" >

            <!-- Latitude Label -->

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                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:layout_weight="0.35"
                android:singleLine="true"
                android:text="test1" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_weight="1"
            android:orientation="horizontal" >

            <!-- Longitude Label -->

            <TextView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1"
                android:text="Longitude"
                android:textColor="#372c24" />

            <EditText
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_marginTop="5dip"
                android:layout_weight="0.35"
                android:password="true"
                android:singleLine="true"
                android:text="test2" />
        </LinearLayout>
    </LinearLayout>

</LinearLayout>

写真

ここに画像の説明を入力してください


「次に、対応するテキストボックスに現在の緯度と経度の値を表示する方法を説明します。」

何を試みましたか?

現在の緯度/経度を取得する必要があります。次に、にテキストを設定しますEditText

于 2012-07-19T04:10:21.943 に答える