मैं के कुछ शब्दों को SpannableString
का उपयोग करके OnDragListener
सेट करने का प्रयास कर रहा हूं। इमस्पैन करने योग्य स्ट्रिंग पर ड्रैग श्रोता सेट करें
hashText.setSpan(new ClickableSpan() {
करके ClickableSpan
का उपयोग करके किसी OnClick
श्रोता जोड़ने में सक्षम तो मैं सोचा मैं एक ही कोशिश लेकिन OnDragListener
साथ ClickableSpan
की जगह लेंगे।
मैं विभिन्न ड्रैग घटनाओं को पढ़ने में सक्षम हूं, लेकिन मैं ड्रैग इवेंट को अलग-अलग शब्दों में अलग करने में सक्षम नहीं हूं, क्योंकि मैं ClickableSpan
के साथ करने में सक्षम हूं।
hashText.setSpan(new View.OnDragListener() {
@Override
public boolean onDrag(View targetView, DragEvent event) {
int action = event.getAction();
TextView targetVariable = (TextView) targetView;
String textGetter;
textGetter = targetVariable.getText().toString();
// boolean actionDropOutside = (DragEvent.ACTION_DRAG_ENDED != DragEvent.ACTION_DROP);
switch (event.getAction()) {
case DragEvent.ACTION_DRAG_STARTED:
Log.d(TAG, "DRAG STARTED");
break;
case DragEvent.ACTION_DRAG_ENTERED:
////create method that checks if text is empty if so lights up
//if (textGetter.equals("")) {
targetView.setBackgroundColor(CARD_SLECTED);
//lightupVariableCard(cardV);
Log.d(TAG, "DRAG ENTERED EMPTY TEXT");
//}
Log.d(TAG, "DRAG ENTERED" + targetVariable.getText().toString());
break;
case DragEvent.ACTION_DRAG_EXITED:
targetView.setBackgroundColor(CARD_UNSLECTED);
Log.d(TAG, "DRAG EXITED");
break;
case DragEvent.ACTION_DROP:
// Dropped, reassign View to ViewGroup
//if (textGetter.equals("")) {
TextView draggedView = (TextView) event.getLocalState();
ViewGroup owner = (ViewGroup) draggedView.getParent();
targetVariable.setText(draggedView.getText());
owner.setVisibility(View.INVISIBLE);
targetView.setBackgroundColor(CARD_UNSLECTED);
//fabDisplayCounter++;
//displayFab();
Log.d(TAG, "DRAG DROPPED");
//}
Log.d(TAG, "DRAG NOT POSSSIBLE HERE");
break;
case DragEvent.ACTION_DRAG_ENDED:
// if (actionDropOutside == true){
// Log.d(TAG, "DRAG DROPPED OUTSIDE TRUE");
// }
Log.d(TAG, "DRAG ENDED");
//default:
}
return true;
}
}, matcher.start(), matcher.end(), i);
the_question.setText(hashText);
the_question.setMovementMethod(LinkMovementMethod.getInstance());
//the_question.setOnDragListener(new MyDragListener(hashText.nextSpanTransition()));
हे फीडबैक के लिए धन्यवाद। मैं एक उत्तर के रूप में चिह्नित नहीं कर रहा हूं क्योंकि मैं mods द्वारा चिल्लाया नहीं चाहता, लेकिन मैं आगे बढ़ गया और यह सुनिश्चित करने के लिए वोट दिया कि आप अपने प्रयास के लिए अंक प्राप्त करें। मैंने आपके सुझाव के साथ थोड़ा सा झुका दिया है, लेकिन इस दौरान मैं एक अलग दिशा में गया हूं। जैसे ही मेरे पास समय है, मैं आपके सुझाव पर फिर से विचार करूंगा और आपके उत्तर के आधार पर समाधान जोड़ूंगा। धन्यवाद फिर से – user1446988
@ user1446988 कोई समस्या दोस्त नहीं है, आपके द्वारा प्राप्त समाधान के साथ अपने स्वयं के प्रश्न का उत्तर देने पर विचार करें, यह दूसरों या यहां तक कि आपके भविष्य के स्वयं की सहायता कर सकता है। यदि आप मेरे सुझाव का प्रयास करते हैं तो मुझे बताएं। –