gpt4 book ai didi

android - 如何将资源传递给图书馆项目?

转载 作者:行者123 更新时间:2023-11-29 00:29:36 25 4
gpt4 key购买 nike

我正在用另一个项目作为库来构建 android 项目。在库项目中,它处理所有创建方法,其他项目引用该库包含自己的资源,如图像。

library project中有一个imageView,我想做的是把image传给library project去渲染,但是不能只传id,因为两个project有自己的资源。我试图在子项目中制作一个Drawable,并传递给父项目,结果是nullpointerexception。

我能想到的是传位图,但是不知道怎么用项目文件夹里的图片创建位图,因为所有资源都是压缩的,只能用

context.getResources()

检索资源文​​件。

或者还有其他一些方法可以做到这一点吗?


更新:

抱歉,NullPointerException 是因为我在调用之前尝试使用 imageview

super.onCreate();

现在它没有抛出任何异常并且可以运行,但是 ImageView 仍然无法显示图像。我的代码:

ImageView imageview = (ImageView) findViewById(library.R.id.imageView1);
imageview.setImageResource(R.drawable.image);

解决方案

原来我在调用之前尝试在父类中使用imageview

super.onCreate()

图片加载不出来,因为我

setContentView()

覆盖了父 Activity 的布局。

您可以使用下面提供的方法将位图或可绘制对象传递给父类(super class)中的 ImageView ,

或者在子类中创建一个imageview,然后在父类中使用libraryPath.R获取imageview。

最佳答案

您可以拥有任意数量的库项目,但是一旦您编译并运行您的应用程序,它就会成为一大堆代码和资源,没有什么可以区分库项目中带有 ImageView 的类与您的类中的类带有 ImageView 的主项目。

发布一些显示此 ImageView 所在位置的代码。它属于哪个类别,您以何种方式使用它?

一旦您有权访问 ImageView,您就可以使用以下任何方法:

setImageBitmap() :

ImageView.setImageBitmap(BitmapFactory.decodeResource(getResources(), R.drawable.image));

setImageResource()

ImageView.setImageResource(R.drawable.image);

setImageDrawable()

ImageView.setImageDrawable(getResources().getDrawable(R.drawable.image));

关于android - 如何将资源传递给图书馆项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16684686/

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