Android学習ノート10(activityの死、メニュー、ダイアログボックス)

26063 ワード

Activityの死亡:ジャンプ時にfinish()を追加すればよい
ダイアログボックスはmanifestで構成する必要があります.私は探しています.
First.java
package tk.myactivity06;



import java.security.PublicKey;



import android.os.Bundle; 

import android.app.Activity; 

import android.content.Intent; 

import android.view.Menu; 

import android.view.MenuItem; 

import android.view.View; 

import android.view.View.OnClickListener; 

import android.widget.Button;



public class First extends Activity {



    private Button myButton=null; 

    

    @Override 

    public void onCreate(Bundle savedInstanceState) { 

        super.onCreate(savedInstanceState); 

        setContentView(R.layout.first); 

        myButton=(Button)findViewById(R.id.first); 

        myButton.setText(R.string.first); 

        myButton.setOnClickListener(new FirstButtonListener()); 

        

    } 

    class FirstButtonListener implements OnClickListener{ 

        

        @Override 

        public void onClick(View v){ 

            Intent intent=new Intent(); 

            intent.setClass(First.this,Second.class ); 

            First.this.startActivity(intent); 

                   finish(); 

        } 

    } 

  //  

    @Override 

    public boolean onCreateOptionsMenu(Menu menu) { 

        menu.add(0, 1, 1, R.string.exit ); 

           menu.add(0, 2, 2, R.string.about); 

        getMenuInflater().inflate(R.menu.first, menu); 

        return true; 

    } 

  

  //  

    @Override 

    public boolean onOptionsItemSelected(MenuItem item) { 

           if(item.getItemId() == 1){ 

                 finish(); 

          }else if(item.getItemId()==2){ 

            Intent intent=new Intent(); 

              intent.setClass(First.this,About.class ); 

              First.this.startActivity(intent); 

          } 

           return super .onOptionsItemSelected(item); 

   } 

}

first.xml
<?xml version= "1.0" encoding ="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 

android:orientation= "vertical" 

android:layout_width= "fill_parent" 

android:layout_height= "fill_parent" 

> 

<Button 

android:id="@ id/first" 

android:layout_width="fill_parent" 

android:layout_height="wrap_content" 

/> 



</LinearLayout>

Second.java
package tk.myactivity06;



import tk.myactivity06.First.FirstButtonListener; 

import android.app.Activity; 

import android.content.Intent; 

import android.os.Bundle; 

import android.view.Menu; 

import android.view.MenuItem; 

import android.view.View; 

import android.view.View.OnClickListener; 

import android.widget.Button;



public class Second extends Activity{ 

    private Button myButton=null; 

    @Override 

    public void onCreate(Bundle savedInstanceState) { 

        super.onCreate(savedInstanceState); 

        setContentView(R.layout.second); 

        myButton=(Button)findViewById(R.id.second); 

        myButton.setText(R.string.second); 

        myButton.setOnClickListener(new SecondButtonListener()); 

    } 

    class SecondButtonListener implements OnClickListener{ 

        

        @Override 

        public void onClick(View v){ 

            Intent intent=new Intent(); 

            intent.setClass(Second.this,Three.class ); 

            Second.this.startActivity(intent); 

            finish(); 

        } 

    }



    //  

    @Override 

    public boolean onCreateOptionsMenu(Menu menu) { 

        menu.add(0, 1, 1, R.string.exit ); 

           menu.add(0, 2, 2, R.string.about); 

        getMenuInflater().inflate(R.menu.first, menu); 

        return true; 

    } 

  //  

    @Override 

    public boolean onOptionsItemSelected(MenuItem item) { 

           if(item.getItemId() == 1){ 

                 finish(); 

          } 

           return super .onOptionsItemSelected(item); 

   }



}

second.xml
<?xml version= "1.0" encoding ="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 

    android:orientation= "vertical" 

    android:layout_width= "fill_parent" 

    android:layout_height= "fill_parent" 

    > 

     <Button 

         android:id="@ id/second" 

         android:layout_width="fill_parent" 

         android:layout_height="wrap_content" 

         /> 

</LinearLayout>

Three.java
package tk.myactivity06;



import tk.myactivity06.Second.SecondButtonListener; 

import android.app.Activity; 

import android.content.Intent; 

import android.net.Uri; 

import android.os.Bundle; 

import android.view.Menu; 

import android.view.MenuItem; 

import android.view.View; 

import android.view.View.OnClickListener; 

import android.widget.Button;



public class Three extends Activity{ 

    private Button myButton=null; 

    @Override 

    public void onCreate(Bundle savedInstanceState) { 

        super.onCreate(savedInstanceState); 

        setContentView(R.layout.three); 

        myButton=(Button)findViewById(R.id.three); 

        myButton.setText(R.string.three); 

        myButton.setOnClickListener(new ThreeButtonListener()); 

    } 

    class ThreeButtonListener implements OnClickListener{ 

        

        @Override 

        public void onClick(View v){ 

            Intent intent=new Intent(); 

            intent.setClass(Three.this,First.class ); 

            Three.this.startActivity(intent); 

            finish(); 

                   

        } 

    } 

    //  

    @Override 

    public boolean onCreateOptionsMenu(Menu menu) { 

        menu.add(0, 1, 1, R.string.exit ); 

           menu.add(0, 2, 2, R.string.about); 

        getMenuInflater().inflate(R.menu.first, menu); 

        return true; 

    } 

  //  

    @Override 

    public boolean onOptionsItemSelected(MenuItem item) { 

           if(item.getItemId() == 1){ 

                 finish(); 

          } 

           return super .onOptionsItemSelected(item); 

   } 

}

three.xml
<?xml version= "1.0" encoding ="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 

    android:orientation= "vertical" 

    android:layout_width= "fill_parent" 

    android:layout_height= "fill_parent" 

    > 

     <Button 

         android:id="@ id/three" 

         android:layout_width="fill_parent" 

         android:layout_height="wrap_content" 

         ></Button> 

</LinearLayout>

About.java
package tk.myactivity06;



import android.app.Activity; 

import android.os.Bundle; 

import android.view.View; 

import android.view.View.OnClickListener; 

import android.widget.Button;



public class About extends Activity{ 

    private Button myButton=null; 

    

    @Override 

    public void onCreate(Bundle savedInstanceState) { 

        super.onCreate(savedInstanceState); 

        setContentView(R.layout.about); 

        myButton=(Button)findViewById(R.id.about); 

        myButton.setText(R.string.about); 

        myButton.setOnClickListener(new AboutButtonListener()); 

    } 

    class AboutButtonListener implements OnClickListener{ 

        

        @Override 

        public void onClick(View v){ 

                   finish(); 

        } 

    } 

}

about.xml
<?xml version= "1.0" encoding ="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 

    android:orientation= "vertical" 

    android:layout_width= "fill_parent" 

    android:layout_height= "fill_parent" 

    > 

     <Button 

         android:id="@ id/about" 

         android:layout_width="fill_parent" 

         android:layout_height="wrap_content" 

         /> 

    

</LinearLayout>

  
manifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 

    package="tk.myactivity06" 

    android:versionCode="1" 

    android:versionName="1.0" >



    <uses-sdk 

        android:minSdkVersion="8" 

        android:targetSdkVersion="15" />



    <application 

        android:icon="@drawable/ic_launcher" 

        android:label="@string/app_name" 

        android:theme="@style/AppTheme" > 

        <activity 

            android:name=".First" 

            android:label="@string/title_activity_first" > 

            <intent-filter> 

                <action android:name="android.intent.action.MAIN" />



                <category android:name="android.intent.category.LAUNCHER" /> 

            </intent-filter> 

        </activity> 

          <activity 

            android:name=".Second" 

            android:label="@string/second" 

            > 

       

        </activity> 

          <activity 

            android:name=".About" 

            android:label="@string/about" 

            android:theme="@android:style/Theme.Dialog" 

            > 

       

        </activity> 

          <activity 

            android:name=".Three" 

            android:label="@string/three" 

            > 

       

        </activity> 

        

    </application>



</manifest>