Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 拖放后如何交换两个按钮?_Android_Button_Drag And Drop_Listener - Fatal编程技术网

Android 拖放后如何交换两个按钮?

Android 拖放后如何交换两个按钮?,android,button,drag-and-drop,listener,Android,Button,Drag And Drop,Listener,我正在尝试创建一种记忆应用程序来学习不同语言的单词 到目前为止,我已经用TextViews和Buttons创建了布局,这些按钮是可拖动的,可以长时间按下和拖动 现在,我希望能够在拖动一个按钮到另一个按钮时交换按钮,但我注意到,到目前为止,按钮不能具有onDragListener,因为我得到以下错误: 类型视图中的方法setOnDragListener(View.OnDragListener)不适用于参数(new OnDragListener(){}) 到目前为止,我的代码是这样的 for (fi

我正在尝试创建一种记忆应用程序来学习不同语言的单词

到目前为止,我已经用
TextView
s和
Button
s创建了布局,这些按钮是可拖动的,可以长时间按下和拖动

现在,我希望能够在拖动一个按钮到另一个按钮时交换按钮,但我注意到,到目前为止,按钮不能具有
onDragListener
,因为我得到以下错误:

类型视图中的方法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(){
     // ....
  }
}

您缺少导入语句

import View.OnDragListener

.setOnDragListener(新视图.OnDragListener()