我尝试做一些应该简单的事情,导入png文件,在许多imageview小部件中使用它们(作为背景)。作为我的代码的一部分,我希望看到当单击小部件a时,小部件b将使用小部件a的背景进行更新。
这似乎是我应该能够毫不费力地传递的信息类型,并且那里的所有帮助只是说"导入到Drawable文件夹",但今年早些时候Android工作室停止放入导入的图像资产到drawable文件夹,并开始将它们放入一个mipmap文件夹。我能够将这些图像用作背景,只要我在activity_mail.xml设计视图中定义背景,但我无法与代码中的imageview背景进行交互,因为所有方法都是期望引用类型drawable,但我的图像不会被解释为drawables,因为我无法将它们放入该文件夹中。 我错过了什么?
首先,我创建一个包含单独资源ID的数组,希望我可以在目标imageview中使用它们。 我不确定使用mipmap图像资源填充数组是否正常工作,因为我似乎无法使用任何在我的代码中不可绘制的图像,但它适用于其他地方的音频文件在我的代码中。我已将描述添加到标记字段中,该字段也可用于引用所使用的图像,但我也无法使用该图像。
public class MainActivity extends AppCompatActivity {
int[] letters = new int[26];
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
int i = 0;
for (char alphabet = 'a'; alphabet <= 'z'; alphabet++) {
String ltr = String.valueOf(alphabet);
ltr = "letter"+ltr;
letters[i] = this.getResources().getIdentifier(ltr,"mipmap",this.getPackageName());
i++;
}
}
}
触摸图像视图时会调用以下方法。我试图从imageview背景中获取描述,并使用我在mipmap文件夹中的png文件更新另一个imageview的背景,我在(理论上)存储在数组中的引用。
public void onClickLetter(View v) {
String actualLetter;
int letternumber;
String letterclicked = v.getContentDescription().toString();
letterclicked = letterclicked.replace("letter", ""); //this gives me a number, which I parse to an int below, which allows me to select a resource ID stored in my array, this is working perfectly elsewhere in my code
System.out.println(letterclicked);
actualLetter = (v.getTag()).toString();
System.out.println(actualLetter);
letternumber = parseInt(letterclicked); //I should be able to use the letters[letternumber] array reference now, but I can't seem to pass it to anything since it's not a drawable file.
如何将引用传递到源imageview小部件中的图像文件(此方法中的View v参数),并使用图像文件作为背景更新第二个imageview小部件,其引用存储在数组中?
是否有一个没有预期可绘制文件的setbackground选项?
如果我应该使用drawable文件夹,请告诉我如何将png文件添加到drawable文件夹。
我的问题只是使用imageview而不是按钮或其他类型的小部件吗?
我的问题是我存储mipmap资源ID的方式(这是android studio自动放置图像资源的地方)吗?我知道mipmap文件仅用于图标,但正如我前面提到的,今年android studio开始将所有图像放入mipmap文件夹。
答案 0 :(得分:0)
这里有一个解决问题的答案。将视图切换到项目,您可以使用drawable文件夹。 Are all images in Android apps considered Icons?