任何人都可以告诉我为什么没有显示TextView
的值。我为TextView
programmaticall赋值,但它没有显示。我还尝试使用TextView
为android:Text
分配值,但文本永远不会出现。任何想法为什么会这样。请参阅下面的xml文件。
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"
android:id="@+id/mySavedLocationsEmptyDataBaseWarningDialogContainer">
<RelativeLayout
android:id="@+id/mySavedLocationsEmptyDataBaseWarningDialogRelativeLayout00"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:background="@drawable/dialog_border">
<TableLayout
android:id="@+id/mySavedLocationsEmptyDataBaseWarningDialogTableLayout00"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TableRow
android:id="@+id/mySavedLocationsEmptyDataBaseWarningDialogTableRow00"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/dialog_border">
<ImageView
android:id="@+id/emptyDataBaseWarningDialogIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_action_warning"/>
<TextView
android:id="@+id/emptyDataBaseWarningDialogTitleMessageValue"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="zsfsafsFS DSFAS"
android:textColor="@android:color/black"/>
</TableRow>
<TableRow
android:id="@+id/mySavedLocationsEmptyDataBaseWarningDialogTableRow01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/dialog_border"
android:layout_marginTop="2dp">
<TextView
android:id="@+id/emptyDataBaseWarningDialogMessageValue"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@android:color/black"/>
</TableRow>
<TableRow
android:id="@+id/mySavedLocationsEmptyDataBaseWarningDialogTableRow02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/dialog_border">
<Button
android:id="@+id/emptyDataBaseWarningDialogBtnYes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Yes"/>
<Button
android:id="@+id/emptyDataBaseWarningDialogBtnCancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Cancel"/>
</TableRow>
</TableLayout>
</RelativeLayout>
JavaCode:
emptyDBWarningDialog.setCancelable(true);
LayoutInflater mDialogInflater = LayoutInflater.from(getApplicationContext());
View DialogInflatedView = mDialogInflater.inflate(R.layout.my_saved_locations_emptydatabasewarningdialog, null);
emptyDBWarningDialog.setContentView(DialogInflatedView);
emptyDBWarningDialog.getWindow().setBackgroundDrawableResource(android.R.color.holo_green_dark);
LinearLayout mLL = (LinearLayout) emptyDBWarningDialog.findViewById(R.id.mySavedLocationsEmptyDataBaseWarningDialogContainer);
TextView dialogTitle = (TextView) emptyDBWarningDialog.findViewById(R.id.emptyDataBaseWarningDialogTitleMessageValue);
TextView dialogMsg = (TextView) emptyDBWarningDialog.findViewById(R.id.emptyDataBaseWarningDialogMessageValue);
Button yesBtn = (Button) emptyDBWarningDialog.findViewById(R.id.emptyDataBaseWarningDialogBtnYes);
Button cancelBtn = (Button) emptyDBWarningDialog.findViewById(R.id.emptyDataBaseWarningDialogBtnCancel);
dialogTitle.setText(EMPTY_DATABASE_DIALOG_TITLE);
dialogMsg.setText(EMPTY_DATABASE_DIALOG_MSG);
emptyDBWarningDialog.show();
答案 0 :(得分:1)
是否使用LinearLayout或RelativeLayout确实取决于您的设计 在这种情况下,一个相对于自己和/或彼此设置子项的RelativeLayout是可取的。
单个RelativeLayout也会保持观看次数,以获得更好的效果。
TextView最多可容纳4个复合绘图(以及背景) 这些可以设置在顶部,底部,左侧和/或右侧附近 在你的情况下,android:drawableLeft将为你的TextView
制作完美的图标现在这是我对你的布局的极端改造:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
android:id="@+id/txtTitle"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginTop="8dp"
android:drawableLeft="@drawable/ic_action_warning"
android:drawablePadding="8dp"
android:textColor="@android:color/black"
/>
<TextView
android:id="@+id/txtEmptyDB"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="zsfsafsFS DSFAS"
android:textColor="@android:color/black"
/>
<Button
android:id="@+id/btnYes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:text="Yes"
/>
<Button
android:id="@+id/btnCancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:text="Cancel"
/>
</RelativeLayout>
也许,你想在LinearLayout中调整两个底部按钮,只是将它们的权重设置为1,将宽度设置为0dp(为了使它们填充底线50%和50%)
像这样(只显示最后一部分,因为其余部分是相同的):
/>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
>
<Button
android:id="@+id/btnYes"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Yes"
/>
<Button
android:id="@+id/btnCancel"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="Cancel"
/>
</LinearLayout>
</RelativeLayout>
答案 1 :(得分:0)
我只是怀疑TableLayout
并将其更改为RelativeLayout
,因此最终的xml_File看起来像下面的布局。 textview
的值通常会显示。但我仍然不知道TableLayout
:
<?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:id="@+id/myContainer">
<RelativeLayout
android:id="@+id/RelativeLayout00"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|top"
android:background="@drawable/dialog_border">
<ImageView
android:id="@+id/WarningDialogIcon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/ic_action_warning"/>
<TextView
android:id="@+id/WarningDialogTitleMsgVal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/emptyDataBaseWarningDialogIcon"
android:layout_marginTop="8dp"
android:textColor="@android:color/black"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/RelativeLayout01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|center_horizontal"
android:background="@drawable/dialog_border">
<TextView
android:id="@+id/WarningDialogMsgVal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textColor="@android:color/black"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/RelativeLayout02"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center|bottom"
android:background="@drawable/dialog_border">
<Button
android:id="@+id/BtnYes"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Yes"/>
<Button
android:id="@+id/BtnCancel"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toRightOf="@+id/BtnYes"
android:text="Cancel"/>
</RelativeLayout>