2016-03-26 5 views
0

ich von meiner MainActivity Klasse meiner timein Klasse gehen keine Probleme gehabt, aber im Problem zurück zur Haupttätigkeit immer, hier ist meine Java-Klassendatei timein:android Studio Haupttätigkeit Fehler versucht, in meinem Code zurückzukehren

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.ImageButton; 

public class TimeIn extends Activity { 

@Override 
protected void onCreate (Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.timeinlayout); 
    final Globals g = (Globals)getApplication(); 
    final int timestart=g.getData1(); 
    final ImageButton btn1 = (ImageButton) findViewById(R.id.button1); 
    btn1.setOnClickListener(new OnClickListener() { 

     public int i = 0; 

     public void onClick(View v) { 

      if (i == 0 && timestart == 0) { 
       btn1.setImageResource(R.drawable.lgbtn1); 
       g.setData1(1); 
       i = 1; 
      } 
      if (i == 0 && timestart == 1) { 
       btn1.setImageResource(R.drawable.lgbtn); 
       g.setData1(0); 
       i = 1; 
      } 
      Intent punch2 = new Intent(this, MainActivity.class); 
      startActivity(punch2); 
     } 
    }); 
    final ImageButton btn2 = (ImageButton) findViewById(R.id.button2); 
    btn2.setOnClickListener(new OnClickListener() { 
     public int j = 0; 
     Globals g = (Globals) getApplication(); 
     final int breakstart = g.getData2(); 

     public void onClick(View v) { 
      if (j == 0 && breakstart == 0) { 
       btn2.setImageResource(R.drawable.lgbtn3); 
       g.setData2(1); 
       j = 1; 
      } 
      if (j == 0 && breakstart == 1) { 
       btn2.setImageResource(R.drawable.lgbtn2); 
       g.setData2(0); 
       j = 1; 
      } 
      Intent punch3 = new Intent(this, MainActivity.class); 
      startActivity(punch3); 
     } 
    }); 
} 
} 

wird es nicht auf diese Weise kompilieren und den Code Fehler sagt: nicht ‚Intent (.. Java lang Klasse < com.package.appname>)‘ Konstruktor lösen

Aber wenn ich mich bewege beide Absichten nach ihrer entsprechende Enden wie folgt:

//previous onClick 1st codeblock 
}); 
Intent punch2 = new Intent(this, MainActivity.class); 
startActivity(punch2); 
//previous onClick 2nd codeblock 
}); 
Intent punch3 = new Intent(this, MainActivity.class); 
startActivity(punch3); 
} 
} 

es funktioniert, aber sofort wieder auf die Haupttätigkeit, möchte ich in der Lage, zuerst auf btn1 oder btn2 klicken, die von der On-Click-Methode ausgelöst werden sollte, würde ich dann denken, und dann zur MainActivity zurückzukehren. Ich bin ziemlich neu in Java, jede Hilfe würde geschätzt werden, es ist wahrscheinlich etwas einfaches, das ich falsch mache.

Antwort

0

habe ich herausgefunden, was ich falsch gemacht habe, habe ich diesen Code auf geteilt hatte, so definiert ich die Absicht in der onCreate Methode, wie folgt aus:

import android.app.Activity; 
import android.content.Intent; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.ImageButton; 

public class TimeIn extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.timeinlayout); 
     final Globals g = (Globals) getApplication(); 
     final int timestart = g.getData1(); 
     final int breakstart = g.getData2(); 

     final Intent punch2 = new Intent(this, MainActivity.class);/* this is where i defined the intent, and you have to declair it as final*/ 

     final ImageButton btn1 = (ImageButton) findViewById(R.id.button1); 
     final ImageButton btn2 = (ImageButton) findViewById(R.id.button2); 
     if (timestart == 0){btn1.setImageResource(R.drawable.lgbtn);} 
     if (timestart == 1){btn1.setImageResource(R.drawable.lgbtn1);} 
     if (breakstart == 0){btn2.setImageResource(R.drawable.lgbtn2);} 
     if (breakstart == 1){btn2.setImageResource(R.drawable.lgbtn3);} 

und verwendet dann die zweite Hälfte in jedem onClick Methode dies wie:

  btn1.setOnClickListener(new OnClickListener() { 

      public int i = 0; 

      public void onClick(View v) { 

       if (i == 0 && timestart == 0) { 
        btn1.setImageResource(R.drawable.lgbtn1); 
        g.setData1(1); 
        i = 1; 
       } 
       if (i == 0 && timestart == 1) { 
        btn1.setImageResource(R.drawable.lgbtn); 
        g.setData1(0); 
        i = 1; 
       } 
       startActivity(punch2);//starts the new activity after button click tasks 
       return; 
      } 
     }); 
     btn2.setOnClickListener(new OnClickListener() { 
      public int j = 0; 
      Globals g = (Globals) getApplication(); 


      public void onClick(View v) { 
       final ImageButton btn2 = (ImageButton) findViewById(R.id.button2); 
       if (j == 0 && breakstart == 0) { 
        btn2.setImageResource(R.drawable.lgbtn3); 
        g.setData2(1); 
        j = 1; 
       } 
       if (j == 0 && breakstart == 1) { 
        btn2.setImageResource(R.drawable.lgbtn2); 
        g.setData2(0); 
        j = 1; 
       } 
       startActivity(punch2); 
       return; 
      } 
     }); 


    } 

} 

so stellt sich heraus, es war meine Schuld, so hoffe ich, das Lernen anfangen jemand anderes Java hilft