我将此源视为AlertDialog
Android SDK 的 res\layout 文件夹中的布局:
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout android:id="@+id/body"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:baselineAligned="false"
android:paddingLeft="8dip"
android:paddingTop="10dip"
android:paddingRight="8dip"
android:paddingBottom="10dip">
<ProgressBar android:id="@android:id/progress"
style="@android:style/Widget.ProgressBar"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:max="10000"
android:layout_marginRight="12dip" />
<TextView android:id="@+id/message"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical" />
</LinearLayout>
</FrameLayout>
我试图找到它的 id 是这样的“消息”的 TextView:
TextView tvMessage = (TextView)dialog.findViewById(android.R.id.message);
它工作正常。然后我试图找到它的 id 是“body”的 LinearLayout,如下所示:
LinearLayout body = (LinearLayout)dialog.findViewById(android.R.id.body);
但是eclipse显示这个错误:
body cannot be resolved or is not a field
这是片段代码:
ProgressDialog dialog = new ProgressDialog(WriteOpinionActivity.this);
dialog.setMessage("some text");
dialog.show();
TextView tvMessage = (TextView)dialog.findViewById(android.R.id.message);
LinearLayout body = (LinearLayout)dialog.findViewById(android.R.id.body);
为什么会发生此错误以及如何到达“body”?