2017-01-10 26 views
1

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

我希望我足够描述。

我下面

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 

} 

回答

1

代码,您就能获得resource其ID的名称。

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

获取来自imageview资源ID再次

先设置一个标签

imageView.setTag(R.drawable.yourDrawable); 

然后从标签

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

检索但我怎么确定哪些我点击放置该context.getRe来源()。getResourceEntryName(imageResID); ... –

+0

你从哪里得到图像?可绘制文件夹还是什么? –

+1

img来自随机生成的可绘制文件夹。我只想确定什么是触摸/拖动...它的字符串值...基本上基于从可绘制文件夹中生成的img,我想启动DURING onTouch来查看当前正在选择的内容img ..字符串它的名字 –