Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.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 使用ImageView拖放_Android_Drag And Drop - Fatal编程技术网

Android 使用ImageView拖放

Android 使用ImageView拖放,android,drag-and-drop,Android,Drag And Drop,我目前在一个项目中使用Android中的拖放功能。我想完成的是,(如下面的链接所示)我将蘑菇拖到比萨饼面团上,然后,当我放下它时,我的蘑菇的现成图片将与比萨饼面团一起被看到。我已经做了代码,但我不确定。对于蘑菇,我使用按钮,对于比萨饼面团,我使用ImageView。我试过运行它,但每次运行时,它都会显示消息“很遗憾,您的应用程序已停止” }那么-该代码是否有效?但你想知道它是否好吗?我试过运行它,但每次运行它时,它都会显示消息“不幸的是,你的应用程序已停止”OK。。。我建议你在这个问题上加上这

我目前在一个项目中使用Android中的拖放功能。我想完成的是,(如下面的链接所示)我将蘑菇拖到比萨饼面团上,然后,当我放下它时,我的蘑菇的现成图片将与比萨饼面团一起被看到。我已经做了代码,但我不确定。对于蘑菇,我使用按钮,对于比萨饼面团,我使用ImageView。我试过运行它,但每次运行时,它都会显示消息“很遗憾,您的应用程序已停止”


}

那么-该代码是否有效?但你想知道它是否好吗?我试过运行它,但每次运行它时,它都会显示消息“不幸的是,你的应用程序已停止”OK。。。我建议你在这个问题上加上这个。如果你有一个logcat,你应该把它添加到日志中。您可以使用帖子下方的“编辑”链接,将其编辑到您的问题中。有了logcat,人们将能够更好地找到问题的根源。发布你的logcat?@S.L.Barth,谢谢你的指导。我会的。
public class MainActivity extends AppCompatActivity {

Button b1, b2, b3;
// TextView txt; //
ImageView image;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    b1 = (Button) findViewById(R.id.button);
    b2 = (Button) findViewById(R.id.button1);
    b3 = (Button) findViewById(R.id.button2);

    // txt = (TextView) findViewById(R.id.textView); //
    image = (ImageView) findViewById(R.id.imageView);


    b1.setOnLongClickListener(longClickListener);
    b2.setOnLongClickListener(longClickListener);
    b3.setOnLongClickListener(longClickListener);

    image.setOnDragListener(dragListener);
}

View.OnLongClickListener longClickListener = new View.OnLongClickListener() {
    @Override
    public boolean onLongClick(View v) {
        ClipData data = ClipData.newPlainText("","");
        View.DragShadowBuilder myShadowBuilder = new View.DragShadowBuilder(v);
        v.startDrag(data,myShadowBuilder,v,0);
        return true;
    }
};

View.OnDragListener dragListener = new View.OnDragListener() {
    @Override
    public boolean onDrag(View v, DragEvent event) {
        int dragEvent = event.getAction();

        final View view = (View) event.getLocalState();

        switch(dragEvent){
            case DragEvent.ACTION_DRAG_ENTERED:

                if (view.getId() == R.id.button){
                    image.setImageResource(R.drawable.pepperoni);
                }

                else if (view.getId() == R.id.button1){
                    image.setImageResource(R.drawable.mushrooms);
                }

                else if (view.getId() == R.id.button2){
                    image.setImageResource(R.drawable.pineapples);
                }
                break;
            case DragEvent.ACTION_DRAG_EXITED:
                if (view.getId() == R.id.button){
                    image.setImageResource(R.drawable.pizzadough);
                }

                else if (view.getId() == R.id.button1){
                    image.setImageResource(R.drawable.pizzadough);
                }

                else if (view.getId() == R.id.button2){
                    image.setImageResource(R.drawable.pizzadough);
                }
                break;
            case DragEvent.ACTION_DROP:
                if (view.getId() == R.id.button){
                    image.setImageResource(R.drawable.pepperoni);
                }

                else if (view.getId() == R.id.button1){
                    image.setImageResource(R.drawable.mushrooms);
                }

                else if (view.getId() == R.id.button2){
                    image.setImageResource(R.drawable.pineapples);
                }
                break;
        }

        return true;
    }
};