0

同じ問題に直面している他のユーザーからいくつかの問題を読みましたが、解決策がうまくいきませんでした。TextViewレイアウトでを定義しましたxml

<TextView
  android:id="@+id/currentLocation"
  android:layout_column="0"
  android:layout_row="14"
  android:text="@string/currentLocation" />

今私の活動で私はTextViewを取得します

location = (TextView) findViewById(R.id.currentLocation);

私のアクティビティでは、他の2つのアクティビティを開始することもできます(1つはgooglemap-View、もう1つは電話の連絡先リストです)。メインアクティビティの私のonActivityResult()メソッドは次のようになります。

public void onActivityResult(int reqCode, int resultCode, Intent data) {
    super.onActivityResult(reqCode, resultCode, data);

    switch (reqCode) {
        case (PICK_CONTACT) :
            if (resultCode == Activity.RESULT_OK) {
                Uri contactData = data.getData();
                Cursor c =  managedQuery(contactData, null, null, null, null);
                if (c.moveToFirst()) {
                    try{
                        String address = c.getString(c.getColumnIndex(ContactsContract.CommonDataKinds.StructuredPostal.FORMATTED_ADDRESS));
                        convertAddressToLatLon(address);
                    }
                    catch(Exception e){
                        errorDialog.setMessage("Could not get Address. Try another contact or use Google Maps.");
                        errorDialog.show();
                    }

                }
            }
        case (PICK_GMAPS) :
            if (resultCode == Activity.RESULT_OK) {
                Bundle googleData = data.getExtras();
                location.setText(googleData.getString("address"));
            }
        break;
    }
}

このconvertAddressToLatLon(address)メソッドにはlocation.setText();、間違いなく文字列値を持つaもあります。

したがって、から戻るとgooglemap-activity、location-textは指定された入力に変わります。接触部分では機能しません。しかし、エラーはありません。メソッドに到達しlocation.setText()ますが、テキストは変更されません。何が悪いのかわかりません。文字列に間違った文字が含まれている可能性はありません。キャッチブロックのブレーキを閉じた後に「location.setText( "test")」を入れても動作しません。(繰り返しますが、プログラムはそのif(c.moveToFirst()){部分に入ります!)。私が言ったように、googlepartは正しく機能するので、何が悪いのかわかりません。

4

2 に答える 2

2

間違いを見つけました。「休憩」を入れるのを忘れました。PICK_CONTACT ケースの最後に。今、その作業...

于 2012-12-31T14:39:00.113 に答える
1

少なくとも高さと幅を設定しますTextView
次のように:

android:layout_width="wrap_content"
android:layout_height="wrap_content"

これらが基本的なパラメータだと思います。次に、他の理由を探すことができます (エラーが続く場合)。

于 2012-12-26T13:00:32.830 に答える