是否有可能有一个布局,可以有静态文本,旁边是来自数据库的文本,在不同的按钮点击时被调用。
所以我在 1 个活动上有 10 个图像按钮,当单击一个新活动时,会启动一个新活动并出现一个列表视图。一旦用户选择那里,我希望出现一个包含静态文本的布局,即床、宠物、视图。然后我调用的数据库中的信息将放在文本旁边,即 2 用于床,没有宠物,4 星视图。但是如果可以的话,我希望能够在所有图像按钮上使用这种布局,它只是我需要更改和调用的右侧数据更改。
我在网上四处寻找,但找不到我需要的东西。
是否有可能有一个布局,可以有静态文本,旁边是来自数据库的文本,在不同的按钮点击时被调用。
所以我在 1 个活动上有 10 个图像按钮,当单击一个新活动时,会启动一个新活动并出现一个列表视图。一旦用户选择那里,我希望出现一个包含静态文本的布局,即床、宠物、视图。然后我调用的数据库中的信息将放在文本旁边,即 2 用于床,没有宠物,4 星视图。但是如果可以的话,我希望能够在所有图像按钮上使用这种布局,它只是我需要更改和调用的右侧数据更改。
我在网上四处寻找,但找不到我需要的东西。
如果您将拥有超过大约 10 个静态文本 + 数据库文本,那么您应该使用列表视图。您将需要编写一个自定义列表适配器来扩展布局文件,如下所示。您想要一个列表视图的原因是因为它回收视图以提高效率。
对于膨胀的 listitem xml:
<LinearLayout
..etc >
<TextView
android:id="@+id/mTextViewStatic"
android:text="text you set statically later for each item">
</TextView>
<TextView
android:id="@+id/mTextViewDb"
android:text="text you set vis db later for each item">
</TextView>
<LinearLayout>
如果您只有几个文本项,只需扩展布局并将其添加到另一个布局。
<LinearLayout
..etc >
<ImageView>
image properties
</ImageView>
<LinearLayout
android:id="@+id/mTextLayout"
properties..>
</LinearLayout>
<LinearLayout>
然后您可以通过以下方式将其手动添加到列表视图之外:
LinearLayout mTextLayout = (LinearLayout) findViewById(R.layout.mTextLayout);
//add multiple instances of the "listItem" xml
for(int i=0; i<10; i++){
LinearLayout listItem = inflater.inflate(theListItemAbove);
TextView tvStatic = listItem.findViewById(R.id.mTextViewStatic);
tvStatic.setText("my static text");
TextView tvDb = listItem.findViewById(R.id.mTextViewDb);
tvStatic.setText(db.getStuff());
mTextLayout.addView(listItem);
}