我是 android 的新手。我不明白如何添加带有随所选图像更改的按钮的 textview。任何人都可以通过正确的代码帮助我。我该怎么做?非常感谢任何帮助。
问问题
99 次
1 回答
0
离开您的响应,设置一个集合或一个数组列表来保存您的对象,然后根据您单击的内容引用它们。
如果图像是活动中的唯一对象,那么您将如何使用单个图像执行此操作。
XML:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/image"
android:src="@drawable/YOUR_IMAGE_RESOURCE"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text for the picture"
android:visibility="invisible"
android:id="@+id/text"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello"
android:id="@+id/button"
android:visibility="invisible"
/>
</LinearLayout>
爪哇
ImageView photoImage = (ImageView)findViewById(R.id.image);
TextView text = (TextView)findViewById(R.id.text);
Button button = (Button)findViewById(R.id.button);
photoImage.setOnClickListener(new OnClickListener{
void onClick(View v){
text.setVisibility(View.VISIBLE);
button.setVisibility(View.VISIBLE);
}
});
// Set the OnClickListener for "button" here, to start a new intent or whatever
如果您使用多个按钮,请设置一个数组列表或集合,如我上面所述。
[编辑]
您将某些内容放入数组列表的代码如下所示...
List<TextView> tvs = new ArrayList<TextView>();
// Setup the views
for (int i = 0; i < numberOfTextViews; i++){
TextView thisTextView = new TextView(context);
// Setup whatever layout info you want here
tvs.add(thisTextView);
}
// Use a view inflater here to add each of the textviews however you want (table layout, linearlayout, etc.)
然后,您可以在此基础上做任何您想做的事情......只需使用tvs.get(NUMBER)
来获取您正在寻找的任何东西。你可以用你的按钮或其他任何东西做同样的事情,并使用相同的 NUMBER 来同时引用你的字符串、文本视图和按钮。例如,单击 1 号按钮...您可以使用tvs.get(1)
, buttons.get(1)
,stringResources.get(1)
这更有意义吗?
于 2012-08-26T19:17:06.423 回答