忍者ブログ

からすまる日誌

2020030501,02 android stadio プリファレンス(前の画面の情報の受け渡し)

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

2020030501,02 android stadio プリファレンス(前の画面の情報の受け渡し)

あさの おはなし
 
電卓
M+ メモリに計算結果を格納
MR メモリーリコール メモリした数を呼び出す
MC メモリクリア
C 全消し
CE 直前のエントリーを消す
 

プリファレンス 前の情報の取り方
 
今日はプリントで
Android stadio
 
新規プロジェクト
→空のアクティビティ
 
 
レイアウトエディターでもやる
長いコードはコピペで
 
おさらい
appに入っている
マニフェストでみると.MainActivityに設定されてる
 
リニアレイアウトに変更
 

 
 
コントロールを追加していく
 
 
http://m.gmobb.jp/ymmkito/doujyo/android/Android0111.pdf
ここからこぴってよい
 

 
myText.
まで入力するとオブジェクトにどうしたいかのメソッド候補が現れる
 
 


 
ボタンを追加したら
2つ追加する
 
private Button myButton2;
myButton2 = findViewById(R.id.button2);
 myButton2.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                myText.setText("Hello wolrd!");
            }
   });
 
3つだった。
 

クラスのなかでつくるクラス
インナークラスとか無名クラスとかいう。
いまやったのがそのやり方
 
いろんなやりかたがあるらしく、サンプルによって違うので混乱することがあるらしい
 
イベントリスナーの実装のやり方
 
方法1.インナークラス(無名クラス、匿名クラス)を作る
2.Activity にリスナーインターフェースを実装させ る(implements)
3.クラスを作る
4.onClick プロパティで指定したメソッドを作る
 
ボタンが3つ4つ並んでいるとonCreateメソッドのなかがごちゃごちゃする→2.が多くなる
 

インプリメンツ
クリックリスナーというのは
かならずオンクリックメソッドを実行させないといけないというやつ
抽象メソッドとして実装し実行時に決めてくださいというあれ。
 
2.Activity にリスナーインターフェースを実装させる(implements)
 
public class Sample extends AppCompatActivity implements View.OnClickListener {
 
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 ~中略~
  button.setOnClickListener(this);
 }
 
@Override
public void onClick(View v) {
 if (v != null) {
  switch (v.getId()) {
  case R.id.button:
  //処理
  break;
  default:
  break;
  }
}
}
}
 
vのところに入れるらしい 
 

2.のやりかたに今のコードを変更するよ
  
いまのコード:
 
package com.example.lesson4;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
    private TextView myText;
    private Button myButton1;
    private Button myButton2;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        myText = findViewById(R.id.myText);/*newする必要はなくひもづけだけする*/
        myButton1 = findViewById(R.id.button);
        myButton2 = findViewById(R.id.button2);
        myButton1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
            //myText に「Bye World!」と表示する Let's do it!
                myText.setText("bye wolrd!");
            }
        });
        myButton2.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {
                myText.setText("Hello wolrd!");
            }
        });
    }
}

 
 
MainActivity.java
 
package com.example.lesson4;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity implements View.OnClickListener {
    private TextView myText;
    private Button myButton1;
    private Button myButton2;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        myText = findViewById(R.id.myText);/*newする必要はなくひもづけだけする*/
        myButton1 = findViewById(R.id.button);
        myButton2 = findViewById(R.id.button2);
        myButton1.setOnClickListener(this);
        myButton2.setOnClickListener(this);
        /*リスナーインターフェイスのやり方*/
        //@Override
        //public void onClick(View v) {
//            if (v != null) {
//                switch (v.getId()) {
//                    case R.id.button:
//                        //処理
//                        myText.setText("bye wolrd");
//                        break;
//                    case R.id.button2:
//                        //処理
//                        myText.setText("hello wolrd");
//                        break;
//                    default:
//                        break;
//                }
        //}
        // }
    }
    @Override
    public void onClick(View v) {
        if (v != null) {
            switch (v.getId()) {
                case R.id.button:
                    //処理
                    myText.setText("bye wolrd");
                    break;
                case R.id.button2:
                    //処理
                    myText.setText("hello wolrd");
                    break;
                default:
                    break;
            }
        }
    }
}
 

 

 
このブロックでくくるのを意識する。
今回}がずれていたのでエラーが出ていた。
 
PR

コメント

ブログ内検索

カレンダー

03 2025/04 05
S M T W T F S
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30