gpt4 book ai didi

Android - imageView.getDrawable() 返回 null

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:39:28 25 4
gpt4 key购买 nike

我被这个看似简单的问题困住了。我做错了什么?

ImageView mImageView;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

mImageView = (ImageView)findViewById(R.id.control);
ClipDrawable drawable = (ClipDrawable)mImageView.getDrawable();
drawable.setLevel(10);

}

应用程序在 drawable.setLevel(10) 处崩溃并出现 NullPointerException(drawable 为 null)。

这是我的 xml:

圆.xml

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval"
android:innerRadius="50dp"
>

<solid
android:color="#FFAAFF"/>

</shape>

剪辑.xml

<?xml version="1.0" encoding="utf-8"?>
<clip xmlns:android="http://schemas.android.com/apk/res/android"
android:clipOrientation="horizontal"
android:drawable="@drawable/circle"
android:gravity="clip_horizontal"

/>

activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

<ImageView
android:id="@+id/image"
android:layout_height="100dp"
android:layout_width="100dp"
android:background="@drawable/clip"
android:layout_centerHorizontal="true"
/>

</RelativeLayout>

请帮帮我!

最佳答案

您将 drawable 设置为“src”的 background 属性。

android:background="@drawable/clip"

.因此,通过将 background 属性替换为 src 来更改您的 activity_main.xml:

android:src="@drawable/clip"

最后你的 activity_main.xml 将是:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent"
android:layout_height="match_parent" android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MainActivity">

<ImageView
android:id="@+id/image"
android:layout_height="100dp"
android:layout_width="100dp"
android:scr="@drawable/clip"
android:layout_centerHorizontal="true"
/>


或者您可以通过调用方法 getBackground() 获取您的可绘制对象,该方法返回由属性 android:background

设置的可绘制对象

关于Android - imageView.getDrawable() 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32773228/

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