我有这样的布局 -
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!-- Linearlaout which acts as ListView in this case -->
<LinearLayout
android:id="@+id/Main_View_Reference"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
android:contentDescription="This is a container reference for main list items"
</LinearLayout>
</ScrollView>
另一种用于膨胀&#34; LinearLayout&#34;像这样的布局的一部分,
<?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:background="@android:color/white"
android:id="@+id/Level_3_Layout"
android:orientation="vertical" >
<TextView
android:id="@+id/Level_3_Item_Name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/background_light"
android:text="Itame Name"
android:textColor="@android:color/black"
android:textSize="18sp" />
<TextView
android:id="@+id/Level_3_Item_Price"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/background_light"
android:text="Item Price"
android:textColor="@android:color/black"
android:textSize="13sp" />
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@android:color/darker_gray" />
</LinearLayout>
我想要做的是我想为从第二部分创建的动态膨胀布局分配标签值。
所以,我想用Java为每个创建的(膨胀的)布局设置额外的隐藏信息,以存储一些额外的信息,这样我可以在下次需要它时像HTML的隐藏字段那样检索它们。
android中有什么办法吗?
感谢您的帮助。
答案 0 :(得分:4)
我不能确定你的'动态'是什么意思,但我想你不仅要分配价值,还要分配你的'隐藏领域'的关键。 如果我的假设是正确的,那么你可以使用这种方法:
yourView.setTag(int id, Object object);
我知道你不愿意使用setTag
,但在这个用例中,我认为这是最适合做的事情。请注意int id
,使用您可以指定的任意标记(只要它们都具有不同的ID),从而使其非常动态。
如果您想要检索使用上述方法分配的标记,请将其命名为:
yourView.getTag(int id);
希望这有帮助!
如果这仍然不是您想要的,我担心唯一的选择是扩展您想要的View
,然后根据您的需要进行自定义。
答案 1 :(得分:1)
对于布局,请使用android:tag=""
,例如
....
<View
android:tag="YOUR_HIDDEN_THINGIE"
.../>
答案 2 :(得分:1)
或在您调用视图后
View v = findViewBy(R.id.myview);// could be any view widget
v.setTag(myobject);
还要注意,当你在布局中使用android:标签时,当你的布局膨胀时,Tag
会一直存在,你可以通过v.getTag()