Android TextView setText不起作用

时间:2012-12-26 12:49:49

标签: android textview settext

我从其他面临同样问题的用户那里读到了一些问题,但这些解决方案并不适用于我。 我在布局TextView中定义了xml

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

现在,在我的Activity中,我得到了

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

在我的活动中,我还可以开始另外两项活动(一项是googlemap-View,另一项是手机的联系人列表)。主要活动中的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();定义为字符串值!

因此,如果我从googlemap-activity返回,则位置文本更改为给定输入。在contactactivity部分,它不起作用。但没有错误。它到达location.setText()方法,但不会更改文本。我不知道什么是错的。它不可能,字符串中有一个错误的字符。即使我在catch块的关闭braket之后放置'location.setText(“test”)',它也不起作用。 (再次,该程序进入if(c.moveToFirst()){部分!)。我不知道什么是错的,因为就像我说googlepart工作正确一样。

2 个答案:

答案 0 :(得分:2)

发现错误。我忘记了“休息”;在PICK_CONTACT案例的最后。现在它的工作......

答案 1 :(得分:1)

至少设置TextView的高度和宽度 就像:

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

我认为这些是基本参数。然后你可以寻找其他原因(如果错误继续)。