好的,所以我已经动态创建了图像。图像是随机的。我想要做的是确定img的字符串名称是什么,因为我也想将字符串名称与动态创建的名称进行比较。这必须在onTouch上实现。这可能谢谢吗

我希望我有足够的描述性。

我的以下代码

    Random rQuestion = new Random();
int iQues = rQuestion.nextInt(numQues - 1)+1;
corrImg = corrAnsIMPID[iQues]; //selectedImg has the string I want to      compare

ArrayList<String> quesList = new ArrayList<>();
quesList.add(corrAnsIMPID[iQues]);
quesList.add(myShuffledArray[rQuestion.nextInt(numQues - 1) + 1]);
quesList.add(myShuffledArray[rQuestion.nextInt(numQues - 1) + 1]);
quesList.add(myShuffledArray[rQuestion.nextInt(numQues - 1) + 1]);
Collections.shuffle(quesList);

String[] ranQues = new String[quesList.size()];
ranQues = quesList.toArray(ranQues);
for(String s : ranQues);  //contains the 4 string name of the img

//set 4 imgs
ImageView newView1 = new ImageView(this);
int id1 = getResources().getIdentifier(ranQues[0], "drawable", getPackageName());
newView1.setImageResource(id1);
//...repeated 4 times

public boolean onTouch (View v, MotionEvent ev)
{

if (mLongClickStartsDrag) return false;

boolean handledHere = false;

final int action = ev.getAction();

// In the situation where a long click is not needed to initiate a drag, simply start on the down event.
if (action == MotionEvent.ACTION_DOWN) {
   handledHere = startDrag (v);


    if (v != selectedImg mSpot2.setDragLayer (null);  //I want to compare if the selected img = corrImg.  this would activate/deactivate the drop zone

}

最佳答案

您可以从其ID获得resource的名称。

String name = context.getResources().getResourceEntryName(imageResID);


再次从imageview获取资源ID

首先设置一个标签

imageView.setTag(R.drawable.yourDrawable);


然后从该标签中检索

int resourceID = (int) imageView.getTag();

关于android - 查找动态创建的选定img的字符串值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41563710/

10-13 09:54