アプリ作って海外移住

コピペプログラマーのメモ

intent 画面遷移

送り側

 Intent intent = new Intent(MainActivity.this,EditActivity.class);
                                    
                                    TARGET_DD = pos+1;
                                    intent.putExtra("TARGET_YYYY", TARGET_YYYY);
                                    intent.putExtra("TARGET_MM", TARGET_MM);
                                    intent.putExtra("TARGET_DD", TARGET_DD);
                                   
                                   
                                    startActivityForResult(intent, EDITACTIVITY);

---------------------------------------------------------

結果を受け取る

@Override 
        protected void onActivityResult(int requestCode, int resultCode, Intent intent) { 
            super.onActivityResult(requestCode, resultCode, intent); 
            
            if (requestCode == EDITACTIVITY){ 
                if (resultCode == RESULT_OK){ 
                    Bundle extras = intent.getExtras();
                     if (extras != null){
                             TARGET_YYYY = intent.getIntExtra("TARGET_YYYY", 0);
                             TARGET_MM = intent.getIntExtra("TARGET_MM", 0);
                             TARGET_DD = intent.getIntExtra("TARGET_DD", 0);   
                     }
               
            } 
        } 
         // 登録されている内容をすべて消す
            adapter.clear();
            // ListViewに通知する
            adapter.notifyDataSetChanged();
            ANIM_CTRL = 0;
           
            //onResume();   自動的に呼ばれる。restasrt>>onresume
     
     
     }

 

 

 

 

 

 

 

 

受け取り側
---------------------------------------------------------------                                 

Intent intent = getIntent();
         //Bundle extras = intent.getExtras(); //
        TARGET_YYYY = intent.getIntExtra("TARGET_YYYY", 0);
        TARGET_MM = intent.getIntExtra("TARGET_MM", 0);
        TARGET_DD = intent.getIntExtra("TARGET_DD", 0);

 

----------------------------------------------------------------結果を返す

@Override
    public void onBackPressed(){
      
            Intent intent = new Intent();
           
            intent.putExtra("return", 101 );
            intent.putExtra("TARGET_YYYY", TARGET_YYYY);
            intent.putExtra("TARGET_MM", TARGET_MM);
            intent.putExtra("TARGET_DD", TARGET_DD);
            setResult( RESULT_OK, intent );
            finish();
       
    }
   

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

①intentの例:リストビューでクリックしたら画面が変わる。

//リスト クリック処理

lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
                        //クリックされたら実行
                         @Override
                             public void onItemClick(AdapterView<?> parent, View view,
                                     int position, long id) {
                             // SeanActivityからKtbdspActivityへ遷移

                                 Intent intent = new Intent(SeanActivity.this,KtbdspActivity.class);
                                 //PUTExtraの引数設定
                                
                                 final int pos1 = position;                            
                                 final int snopos = snotb[position];
                                 intent.putExtra("pos1",pos1);        //クリックされたPOSITION
                                 intent.putExtra("snopos",snopos);
                                 //画面遷移実行
                                 startActivity(intent);
                        
                           }
                          });
         
   

 

②受け取り側

 Bundle extras=getIntent().getExtras(); //引数受け取り

final int pos1 = extras.getInt("pos1");       //これはINTの場合  stringはgetstring

 

 

※だいたいここで、デバッグ用にトースト表示

 String dbmsg = pos1 + "   " + snopos;
Toast.makeText(this, "pos1,table-no=" + dbmsg , Toast.LENGTH_LONG).show();