我是android的新手。我不明白如何使用随各自所选图像更改的按钮添加textview。任何人都可以通过正确的代码帮助我。我怎么能这样做? 任何帮助都非常感谢。
答案 0 :(得分:0)
离开你的回复,设置一个集合或一个arraylist来保存你的对象,然后根据你点击的内容引用它们。
如果图像是活动中唯一的对象,则可以使用单个图像执行此操作。
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
如果你正在使用多个按钮,请按照我上面的描述设置一个arraylist或集合。
<强> [编辑] 强>
将某些内容放入数组列表的代码如下所示......
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同时引用字符串,textview和按钮。例如,点击第1号按钮......您可以使用tvs.get(1)
,buttons.get(1)
,stringResources.get(1)
这更有意义吗?