2013-08-25 53 views
0

这些是我的代码,我在AsyncTask onPostExcute函数中运行这些代码。TextView setText引发应用程序挂起

LayoutInflater inflater =LayoutInflater.from(this.context); 
    LinearLayout layout = (LinearLayout) inflater.inflate(R.layout.custom_info_window, null, false); 
    layout.addView(layout); 
    View view = (View) layout; 

    ((ImageView) view.findViewById(R.id.badge)).setImageResource(badge); 
    String title = marker.getTitle(); 
    TextView titleUi = ((TextView) view.findViewById(R.id.title)); 
    titleUi.setText(title); 

当应用程序运行到这里,没有错误和应对

这里是我的xml文件名为custom_info_window.xml内容

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:orientation="horizontal" > 

<ImageView 
    android:id="@+id/badge" 
    android:contentDescription="@string/info_window" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_marginRight="5dp" 
    android:adjustViewBounds="true" > 
</ImageView> 

<LinearLayout 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" > 

    <TextView 
     android:id="@+id/title" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:ellipsize="end" 
     android:singleLine="true" 
     android:textColor="#ff000000" 
     android:textSize="14sp" 
     android:textStyle="bold" /> 
    <TextView 
     android:id="@+id/snippet" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:ellipsize="end" 
     android:singleLine="true" 
     android:textColor="#ff7f7f7f" 
     android:textSize="14sp" /> 
</LinearLayout> 

我尝试dispaly这个视图在AsyncTask执行后Mainactivity的子视图 但它不起作用。 没有错误或警告。 我在行“titleUi.setText(”1312“)”设置断点,当应用程序运行到这里时,没有响应。它看起来像死了。

任何人都可以帮助我吗? 谢谢提前。

回答

1

这里尝试后整个的AsyncTask代码。我认为故障是在你的代码的以下部分:

LayoutInflater inflater =LayoutInflater.from(this.context); 
LinearLayout layout = (LinearLayout) inflater.inflate(R.layout.custom_info_window, null, false); 
layout.addView(layout); 
View view = (View) layout; 

试试这个,

LayoutInflater inflater = (LayoutInflater) context.getSystemService(LAYOUT_INFLATER_SERVICE); 
View view = inflater.inflate(R.layout.custom_info_window, null); 
    ((ImageView) view.findViewById(R.id.badge)).setImageResource(badge); 
    String title = marker.getTitle(); 
    TextView titleUi = ((TextView) view.findViewById(R.id.title)); 
    titleUi.setText(title); 
+0

请赞成票,并接受我的回答是否能解决您的问题,让任何人都知道问题已解决。乐于帮助! – 2013-08-26 04:08:47

0

转到DEBUGGER试图找出进一步的情况。

或使用:

Log.e("Log Title","message");