需要帮助将Java代码更改为方法addText(String text)

时间:2016-06-05 11:01:17

标签: java android

我的学习Android应用程序开发的作业,我需要帮助,我只是一个初学者。 在我的代码(我没有写它,它是研究的一部分)的方法onCreate,onSrart,onRestart,onResume,onPause,onStop我每次都重复以下行:

ausgabe += "First Activity - \"onStart\" durchlaufen\"n;

tvAnzeige.setText(ausgabe);

我的任务是将这两行存储在方法addText(String text)中,这样每次我只调用此方法而不是使用重复。 我的问题是我该怎么做?伪代码将非常有用。 我提前感谢您提供任何帮助或信息,这是我的代码:

public class FirstActivity extends Activity
    {
        private String ausgabe = "";
        public TextView tvAnzeige;

        @Override
        protected void onCreate(Bundle savedInstanceState)
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_first);
            Button button = (Button) this.findViewById(R.id.second_activity);
            button.setOnClickListener(new ButtonOnClickListener());
            tvAnzeige = (TextView) this.findViewById(R.id.anzeige);
            ausgabe += "FirstActivity - \"onCreate\" durchlaufen\n";
            tvAnzeige.setText(ausgabe);
        }

        @Override
        protected void onStart()
        {
            super.onStart();
            ausgabe += "FirstActivity - \"onStart\" durchlaufen\n";
            tvAnzeige.setText(ausgabe);
        }

        @Override
        protected void onResume()
        {
            super.onResume();
            ausgabe += "FirstActivity -\"onResume\" durchlaufen\n";
            tvAnzeige.setText(ausgabe);
        }

        @Override
        protected void onPause()
        {
            super.onPause();
            ausgabe += "FirstActivity -\"onPause\" durchlaufen\n";
            tvAnzeige.setText(ausgabe);
        }

        @Override
        protected void onStop()
        {
            super.onStop();
            ausgabe += "FirstActivity -\"onStop\" durchlaufen\n";
            tvAnzeige.setText(ausgabe);
        }

        @Override
        protected void onRestart()
        {
            super.onRestart();
            ausgabe += "FirstActivity -\"onRestart\" durchlaufen\n";
            tvAnzeige.setText(ausgabe);
        }

        //inner listener class
        class ButtonOnClickListener implements OnClickListener
        {
            @Override
            public void onClick(View view)
            {
                ausgabe += "Button \"second Activity\" geklickt\n";
                Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
                try
                {
                    FirstActivity.this.startActivity(intent);
                } catch (ActivityNotFoundException anfe)
                {
                    ausgabe += anfe.toString() + "\n";
                    tvAnzeige.setText(ausgabe);
                }
            }
        }
    }

4 个答案:

答案 0 :(得分:0)

尝试这样的事情:

    @Override
    protected void onStart()
    {
        super.onStart();
        addText("FirstActivity - \"onStart\" durchlaufen\n");
    }

    @Override
    protected void onResume()
    {
        super.onResume();
        addText("FirstActivity -\"onResume\" durchlaufen\n");
    }

    ... (more methods) 


    void addText(final String text) {
        ausgabe += text;
        tvAnzeige.setText(ausgabe);
    }   

答案 1 :(得分:0)

似乎很简单,除非您的作业有更多要求。但由于这是一项家庭作业,请尝试回答,我们可以帮助您学习。一般的想法是,您将创建一个方法来执行所概述的操作。

假设你有一个helloworld类,你想反复调用一个方法和一些信息。

public class HelloWorld {
    public static void main(String []args){
        greetMe("Bill");
   }

   public static void greetMe(String name){
       System.out.println( String.format("Hello %s", name));
  } 
}

这会输出 Hello Bill

您可以将相同的概念应用于作业。

答案 2 :(得分:0)

您可以使用此

public class FirstActivity extends ActionBarActivity {

 private String ausgabe = "";
 public TextView tvAnzeige;

 @Override
 protected void onCreate(Bundle savedInstanceState)
 {
     super.onCreate(savedInstanceState);
     setContentView(R.layout.activity_main);
     Button button = (Button) this.findViewById(R.id.second_activity);
     tvAnzeige = (TextView) this.findViewById(R.id.anzeige);

     button.setOnClickListener(new ButtonOnClickListener());
     ausgabe += "FirstActivity - \"onCreate\" durchlaufen\n";
     tvAnzeige.setText(ausgabe);
 }

  private void addText(String text){
     ausgabe += "FirstActivity -\""+text+"\" durchlaufen\n";
     tvAnzeige.setText(ausgabe);
 }

 @Override
 protected void onStart()
 {
     super.onStart();
     addText("onStart");
 }

 @Override
 protected void onResume()
 {
     super.onResume();
     addText("onResume");
 }

 @Override
 protected void onPause()
 {
     super.onPause();
     addText("onPause");
 }

 @Override
 protected void onStop()
 {
     super.onStop();
     addText("onStop");
 }

 @Override
 protected void onRestart()
 {
     super.onRestart();
     addText("onRestart");
 }

 class ButtonOnClickListener implements OnClickListener
 {
     @Override
     public void onClick(View view)
     {
         ausgabe += "Button \"second Activity\" geklickt\n";
         Intent intent = new Intent(FirstActivity.this, SecondActivity.class);
         try
         {
             FirstActivity.this.startActivity(intent);
         } catch (ActivityNotFoundException anfe)
         {
             ausgabe += anfe.toString() + "\n";
             tvAnzeige.setText(ausgabe);
         }
     }
 }




}

答案 3 :(得分:0)

以下是答案,感谢那些再次帮助我的人:     

public class FirstActivity extends Activity {
private String ausgabe="";
public TextView tvAnzeige;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_first);
    Button button =(Button)this.findViewById(R.id.second_activity);
    button.setOnClickListener(new ButtonOnClickListener());
    tvAnzeige =(TextView)this.findViewById(R.id.anzeige);
    addText("FirstActivity - \"onCreate\" durchlaufen\n");
    //ausgabe += "FirstActivity - \"onCreate\" durchlaufen\n";
    //tvAnzeige.setText(ausgabe);

}
@Override
protected void onStart(){
    super.onStart();
    addText("FirstActivity - \"onStart\" durchlaufen\n");
    //ausgabe += "FirstActivity - \"onStart\" durchlaufen\n";
    //tvAnzeige.setText(ausgabe);
}
@Override
protected void onResume(){
    super.onResume();
    addText("FirstActivity - \"onResume\" durchlaufen\n");
    //ausgabe += "FirstActivity -\"onResume\" durchlaufen\n";
    //tvAnzeige.setText(ausgabe);
}
@Override
protected void onPause(){
    super.onPause();
    addText("FirstActivity - \"onPause\" durchlaufen\n");
    //tvAnzeige.setText(ausgabe);
}
@Override
protected void onStop(){
    super.onStop();
    addText("FirstActivity - \"onStop\" durchlaufen\n");
    //tvAnzeige.setText(ausgabe);
}
@Override
protected void onRestart(){
    super.onRestart();
    addText("FirstActivity - \"onRestart\" durchlaufen\n");
    //tvAnzeige.setText(ausgabe);
}
public void addText(String text){
    ausgabe += text;
    tvAnzeige.setText(ausgabe);
}

//inner listener class
class ButtonOnClickListener implements OnClickListener {
    @Override
    public void onClick(View view) {
        addText("Button \"second Activity\" geklickt\n");
        Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
        try {
            FirstActivity.this.startActivity(intent);
        }catch (ActivityNotFoundException anfe){
            ausgabe += anfe.toString() + "\n";
            tvAnzeige.setText(ausgabe);
        }

    }
}}
</code>