gpt4 book ai didi

Android:如何设置PreferenceActivity的Preference自定义布局的ImageView

转载 作者:行者123 更新时间:2023-11-30 03:13:51 24 4
gpt4 key购买 nike

我有一个偏好,我将其布局(在 XML 文件中)设置为我创建的自定义布局

   <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:key="help_preference_screen">
<Preference android:key="help_preference" android:title="" android:layout="@layout/help_image_text" />
</PreferenceScreen>

自定义布局由 ImageView 和 TextView 组成。

<FrameLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/help_frame_layout"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<LinearLayout
android:id="@+id/help_linear_layout"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >

<ImageView
android:id="@+id/help_image_view"
android:layout_width="match_parent"
android:layout_height="240dp"
android:layout_gravity="center_horizontal"
android:src="@drawable/daj_help_1" />

<TextView
android:id="@+id/help_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_margin="8dp"
android:text=""
android:textSize="16sp"
android:textColor="#ffffff"/>

</LinearLayout> </FrameLayout>

在运行时我想访问/找到 ImageView (help_image_view) 来设置它的图像,我该怎么做?

public class helpactivity extends PreferenceActivity implements OnSharedPreferenceChangeListener
{
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.userpreferences);
}
}

最佳答案

如果首选项有唯一的布局并且 subview ID 是唯一的(即每个 Preference 对象都有不同的布局和不同的 ImageView ID),这是可能的。然后就可以通过id正常访问ImageView了。即:

((ImageView) findViewById(R.id.help_image_view)).setImageResource(someResId);

否则首选项 API isn't designed for such purposes并且不提供用于操作 ImageView 的源/图像的函数。

关于Android:如何设置PreferenceActivity的Preference自定义布局的ImageView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20473759/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com