質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.53%

  • Java

    15560questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Android Studio

    4222questions

    Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

ドラッグアンドドロップ

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 531
退会済みユーザー

退会済みユーザー

androidstudioで開発をしています。
1~16の4×4マスでパ○ドラのようにあるマス目をを押してドラッグアンドドロップすることでマス目が入れ替わる仕組みを作っています。
自分でここまでやってみましたが合ってるいるかも全く自信無いし、ここからどうやればいいのかも全くわからず困っている状況です、、

java初心者なのでわからないことだらけなので初歩的な質問かもしれませんがいろいろと教えてください。よろしくお願いします。
package com.example.admin.a1219myapplication;

import android.graphics.Point;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

import static com.example.admin.a1219myapplication.R.id.button1;
import static com.example.admin.a1219myapplication.R.id.text;

/**

  • Created by admin on 2016/12/22.
    */

public class Certification extends AppCompatActivity{

//ハンドルをタップするとtrue,指が画面から離れるとfalse
private boolean mSortable = false;
//ドラッグ位置
private int mtext = -1;

protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//xmlのボタンと対応付け
Button button1 = (Button) findViewById(R.id.button1);
Button button2 = (Button) findViewById(R.id.button2);
Button button3 = (Button) findViewById(R.id.button3);
Button button4 = (Button) findViewById(R.id.button4);
Button button5 = (Button) findViewById(R.id.button5);
Button button6 = (Button) findViewById(R.id.button6);
Button button7 = (Button) findViewById(R.id.button7);
Button button8 = (Button) findViewById(R.id.button8);
Button button9 = (Button) findViewById(R.id.button9);
Button button10 = (Button) findViewById(R.id.button10);
Button button11 = (Button) findViewById(R.id.button11);
Button button12 = (Button) findViewById(R.id.button12);
Button button13 = (Button) findViewById(R.id.button13);
Button button14 = (Button) findViewById(R.id.button14);
Button button15 = (Button) findViewById(R.id.button15);
Button button16 = (Button) findViewById(R.id.button16);
//ここまで
//ボタンに配列,setOnTouchListener,数字をセット
Button btn[] = new Button[16];
for(int i=0;i<16;i++){
btn[i] = new Button(this);
btn[i].setOnTouchListener(listener);
btn[i].setText(i);
}

}

private void swapPanel(int i){

}
int i;
View.OnTouchListener listener= new View.OnTouchListener(){
@Override
public boolean onTouch(View view, MotionEvent event) {

TextView text = (TextView)findViewById(R.id.view);

Button button = (Button) view;
if(event.getAction()==MotionEvent.ACTION_DOWN){
}
if (!mSortable) {
return false;
}
switch (event.getAction()) {
//タッチ
case MotionEvent.ACTION_DOWN: {
//押したボタンの数字を取得
String str = text.getText().toString();
text.setText(Integer.parseInt(str));
break;
}
//押しながら移動
case MotionEvent.ACTION_MOVE: {
//リストの何番目をタップしているのかを容易に取得できる
// 現在のポジションを取得し
//指がリストをまたいだ瞬間に入れ替え
// 移動が検出されたら入れ替え
if (text != text) {
mtext = text;
}
return true;
}
//指が離れたら
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
case MotionEvent.ACTION_OUTSIDE: {
stopDrag();
return true;
}
}
return false;
}

};

public void stopDrag() {
mtext = -1;
mSortable = false;
}

}

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • PineMatsu

    2017/01/13 16:49

    なにを質問したいのかわかりません。エラーが出て動かないの?

    キャンセル

  • 退会済みユーザー

    退会済みユーザー

    2017/01/13 23:02

    そもそもあれはぼたんではない

    キャンセル

  • 退会済みユーザー

    退会済みユーザー

    2017/01/14 10:20

    初心者で質問の仕方が下手ですみません。ボタンでも画像でもいいんですが、4×4のマス目を作ってドラッグアンドドロップでマス目を並び替えるものが作りたいのです。エラーどころかここから先どう進めれば良いのか全くわからず困っている状況です、、

    キャンセル

まだ回答がついていません

同じタグがついた質問を見る

  • Java

    15560questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Android Studio

    4222questions

    Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。