Android example which uses onResume, onStart and onRestart

夙愿已清 提交于 2019-11-26 22:08:37

问题


I would like an example Android app which uses onResume, onStart and onRestart.


回答1:


package com.test;

import stuff here

public class Pick_Color extends Activity implements OnClickListener
{

        private Button b11; 
            private Button b12; 
    private Button b13; 
    private Button b14; 

    private Button b_final;

private EditText RED;
private EditText GREEN;
private EditText BLUE;

static int temp_red;
static int temp_green;
static int temp_blue;


public void onCreate(Bundle savedInstanceState) 
{

    super.onCreate(savedInstanceState);
    setContentView(R.layout.pickcolor);
    Log.d("pick color","on create");
    b11=(Button)findViewById(R.id.buttonR1C1); 
    b12=(Button)findViewById(R.id.buttonR1C2); 
    b13=(Button)findViewById(R.id.buttonR1C3); 
    b14=(Button)findViewById(R.id.buttonR1C4); 

        b11.setBackgroundColor(Color.argb(255, 255, 255,0));
        b12.setBackgroundColor(Color.argb(255, 255, 0,255));
        b13.setBackgroundColor(Color.argb(255, 0, 255,255));
        b14.setBackgroundColor(Color.argb(255, 102, 153,51));

        b11.setOnClickListener(this);
        b12.setOnClickListener(this);
        b13.setOnClickListener(this);
        b14.setOnClickListener(this);



     RED=(EditText) findViewById(R.id.RED_TEXT);
     GREEN=(EditText) findViewById(R.id.GREEN_TEXT);
     BLUE=(EditText) findViewById(R.id.BLUE_TEXT);

       RED.setText(Integer.toString(temp_red));
       GREEN.setText(Integer.toString(temp_green));
       BLUE.setText(Integer.toString(temp_blue));

     b_final=(Button)findViewById(R.id.button_result);
     b_final.setBackgroundColor(Color.argb(255,temp_red,temp_green,temp_blue));
     b_final.setOnClickListener(this);



     OnKeyListener text_listener= new OnKeyListener() 
        {
            public boolean onKey(View v, int keyCode, KeyEvent event)
            {
                int flag=0;

                try
                {
                    switch(v.getId())
                    {
                        case R.id.RED_TEXT:
                                flag=1;
                            temp_red=Integer.parseInt(RED.getText().toString());

                            if(temp_red<0 || temp_red>255)
                                throw new NumberFormatException();

                        //  Log.d("Pick_Color","temp_red = "+temp_red);

                                            break;

                        case R.id.GREEN_TEXT:
                                flag=2;
                            temp_green=Integer.parseInt(GREEN.getText().toString());

                            if(temp_green<0 || temp_green>255)
                                throw new NumberFormatException();

                        //  Log.d("Pick_Color","temp_green = "+temp_green);

                                            break;

                        case R.id.BLUE_TEXT:
                                flag=3;
                            temp_blue=Integer.parseInt(BLUE.getText().toString());

                            if(temp_blue<0 || temp_blue>255)
                                throw new NumberFormatException();

                        //  Log.d("Pick_Color","temp_blue = "+temp_blue);

                                            break;
                    }
                }
                catch(NumberFormatException n)
                {
                    if(flag==1)
                        {
                        RED.setText("");
                        Log.d("Pick Color","Red Error");
                        }
                    if(flag==2)
                        {
                        GREEN.setText("");
                        Log.d("Pick Color","Green Error");
                        }
                    if(flag==3)
                        {
                        BLUE.setText("");
                        Log.d("Pick Color","Blue Error");
                        }
                }

                Log.d("Pick Color","temp_red = "+temp_red+" temp_green = "+temp_green+" temp_blue = "+temp_blue+"");
                 b_final.setBackgroundColor(Color.argb(255,temp_red, temp_green, temp_blue));
                return false;
            }
        };


            RED.setOnKeyListener(text_listener);
            GREEN.setOnKeyListener(text_listener);
            BLUE.setOnKeyListener(text_listener);

  }

protected void onResume()
{
   super.onResume();

   RED.setText(Integer.toString(temp_red));
   GREEN.setText(Integer.toString(temp_green));
   BLUE.setText(Integer.toString(temp_blue));

   b_final.setBackgroundColor(Color.argb(255,temp_red,temp_green,temp_blue));
}

public void onClick(View v)
{
    switch (v.getId()) 
    {
    // --------------  FIRST ROW --------------
    case R.id.buttonR1C1:

            RED.setText("255");
            GREEN.setText("255");
            BLUE.setText("0");
            temp_red=Integer.parseInt(RED.getText().toString());
            temp_green=Integer.parseInt(GREEN.getText().toString());
            temp_blue=Integer.parseInt(BLUE.getText().toString());
            b_final.setBackgroundColor(Color.argb(255,255,255,0));

            writeColor("Color 255 255 255 0");

        break;

    case R.id.buttonR1C2:

        RED.setText("255");
        GREEN.setText("0");
        BLUE.setText("255");
        temp_red=Integer.parseInt(RED.getText().toString());
        temp_green=Integer.parseInt(GREEN.getText().toString());
        temp_blue=Integer.parseInt(BLUE.getText().toString());
        b_final.setBackgroundColor(Color.argb(255,255,0,255));

            writeColor("Color 255 255 0 255");

        break;

    case R.id.buttonR1C3:

        RED.setText("0");
        GREEN.setText("255");
        BLUE.setText("255");
        temp_red=Integer.parseInt(RED.getText().toString());
        temp_green=Integer.parseInt(GREEN.getText().toString());
        temp_blue=Integer.parseInt(BLUE.getText().toString());
        b_final.setBackgroundColor(Color.argb(255,0,255,255));

            writeColor("Color 255 0 255 255");

        break;

    case R.id.buttonR1C4:

        RED.setText("102");
        GREEN.setText("153");
        BLUE.setText("51");
        temp_red=Integer.parseInt(RED.getText().toString());
        temp_green=Integer.parseInt(GREEN.getText().toString());
        temp_blue=Integer.parseInt(BLUE.getText().toString());
        b_final.setBackgroundColor(Color.argb(255,102,153,51));

            writeColor("Color 255 102 153 51");

        break;


    case R.id.button_result:
        writeColor("Color 255 "+temp_red+" "+temp_green+" "+temp_blue);
        finish();
        break;

    }
}


public void writeColor(String string) 
{
    TouchList.Current_Color=string;
    try 
    {
    TouchList.dos.writeUTF(TouchList.Current_Color);
    } 
    catch (IOException e) 
    {
    e.printStackTrace();
    }
}
}



回答2:


The notepad tutorial provides an excellent look at the Activity life cycle: http://developer.android.com/resources/tutorials/notepad/index.html

They even show you how to add breakpoints so you can watch each of the functions and when they get called.



来源:https://stackoverflow.com/questions/4436035/android-example-which-uses-onresume-onstart-and-onrestart

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!