【发布时间】:2014-06-23 08:29:24
【问题描述】:
我正在尝试创建某种记忆应用程序来学习不同语言的单词。
到目前为止,我已经使用 TextViews 和 Buttons 创建了布局,并且按钮是可拖动的 - 可以长按和拖动。
现在我希望在您将一个按钮拖到另一个按钮上时可以交换按钮,但到目前为止我注意到按钮不能有onDragListener,因为我收到以下错误:
View类型中的setOnDragListener(View.OnDragListener)方法不适用于参数(new OnDragListener(){})
到目前为止,我的代码看起来像这样
for (final Button b : buttonList) {
//b.setOnDragListener(new MyDragListener());
b.setOnLongClickListener(new View.OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
ClipData.Item item = new ClipData.Item( ((Button) v).getText() );
String[] mimeTypes = {ClipDescription.MIMETYPE_TEXT_PLAIN};
ClipData dragData = new ClipData(
((Button) v).getText().toString(),
mimeTypes,
item);
// Instantiates the drag shadow builder.
View.DragShadowBuilder myShadow = new DragShadowBuilder(b);
// Starts the drag
v.startDrag(dragData, // the data to be dragged
myShadow, // the drag shadow builder
null, // no need to use local data
0 // flags (not currently used, set to 0)
);
return true;
}
});
// Create and set the drag event listener for the View
b.setOnDragListener( new OnDragListener(){
// ....
}
}
【问题讨论】:
标签: android button drag-and-drop listener