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

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

新規登録して質問してみよう
ただいま回答率
85.48%
Java

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

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

Q&A

2回答

2060閲覧

java andoid performClick()について

ymg

総合スコア10

Java

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

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

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

0グッド

1クリップ

投稿2019/05/25 13:34

下のコードはサンプルコードの丸写しです。
ただタップした画像をドラッグして動かすというだけのものです。
下のMainActivityのコードから、
view.performClick();
という1文を消しても正常に動作するのですが、performClick();とは何なのでしょうか?

MainActivity ------------------------------------------------------ import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.widget.TextView; public class MainActivity extends AppCompatActivity implements View.OnTouchListener { private CustomImageView customImageView; private int preDx, preDy; private TextView textView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); textView = findViewById(R.id.textView); customImageView = this.findViewById(R.id.imageView); customImageView.setOnTouchListener(this); } @Override public boolean onTouch(View view, MotionEvent motionEvent) { int newDx = (int) motionEvent.getRawX(); int newDy = (int) motionEvent.getRawY(); switch (motionEvent.getAction()) { case MotionEvent.ACTION_MOVE: //  下の1文を取り除いても正常の動作をする。 view.performClick(); int dx = customImageView.getLeft() + (newDx - preDx); int dy = customImageView.getTop() + (newDy - preDy); int imgW = dx + customImageView.getWidth(); int imgH = dy + customImageView.getHeight(); customImageView.layout(dx, dy, imgW, imgH); String str = "dx=" + dx + "dy=" + dy; textView.setText(str); break; case MotionEvent.ACTION_DOWN: break; case MotionEvent.ACTION_UP: break; default: break; } preDx = newDx; preDy = newDy; return true; } }

import android.content.Context;
import android.support.v7.widget.AppCompatImageView;
import android.util.AttributeSet;

public class CustomImageView extends AppCompatImageView{

public CustomImageView(Context context, AttributeSet attrs) { super(context, attrs); } @Override public boolean performClick() { super.performClick(); return true; }

}

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

performClick();とは何なのでしょうか?

これをはずすと警告がでるので、
Custom View has onTouchListner called on it but doesn’t override performClick

performClickをoverrideしているわけですね

参考:
リンク内容
リンク内容

投稿2019/05/27 06:58

aja

総合スコア3733

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

投稿2019/05/25 15:59

jimbe

総合スコア12648

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問