-3

我是 android 的新手。我不明白如何添加带有随所选图像更改的按钮的 textview。任何人都可以通过正确的代码帮助我。我该怎么做?非常感谢任何帮助。

4

1 回答 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 回答