2012-03-31 2 views
1

Ich arbeite an einer App für Android 3.0 ab, und ich möchte mit einer Taste zuerst Text in einer Textansicht einstellen und dann Bildschirm von screen1 zu screen2 ändern ...Wie man eine Taste benutzt, um Text in einer TextView zu setzen und auch Bildschirme zu ändern?

Hier ist mein Code bisher (Ursachen ein Crash):

Button mainNext = (Button) findViewById(R.id.Recipe1); 
    mainNext.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 

      final TextView mTextView = (TextView) findViewById(R.id.textView3); 
      mTextView.setText("Some Text"); 

      Intent i = new Intent(); 
      i.setClassName("com.bluStudios.Recipes4U.ics", "com.bluStudios.Recipes4U.ics.recipedisplayscreen"); 
      startActivity(i); 
     } 
    }); 

Irgendwelche Ideen ??? Vielen Dank im Voraus: P

EDIT:

-Code für den 1. Bildschirm:

public class Recipe_Button_List extends Activity { 
@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.recipe_button_list); 


    Button mainNext = (Button) findViewById(R.id.Recipe1); 
    mainNext.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      final TextView mTextView = (TextView) findViewById(R.id.textView3); 
      mTextView.setText("Some Text"); 
Intent i= new Intent(Recipe_Button_List.this, recipedisplayscreen.class); 
      startActivity(i); 
     } 
    }); 
} 

}

-Code für den 2. Bildschirm:

public class recipedisplayscreen extends Activity { 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.recipedisplayscreen); 
    ActionBar actionBar = getActionBar(); 
    setTitle(R.string.title); 
    actionBar.setDisplayHomeAsUpEnabled(true);} 

    @Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     switch (item.getItemId()) { 
      case android.R.id.home: 
       // App icon in action bar clicked; go home 
       Intent intent = new Intent(this, MainScreen.class); 
       intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); 
       startActivity(intent); 
       return true; 
      default: 
       return super.onOptionsItemSelected(item); 
     } 
    } 

@Override 
    public boolean onCreateOptionsMenu(Menu menu) { 
     MenuInflater inflater = getMenuInflater(); 
     inflater.inflate(R.menu.recipe_menu1, menu); 
     return true; 

} 

}

+1

, was passiert, wenn u diesen Code r ausgeführt wird? –

+0

Teilen Sie Ihren Fehler LOG_CAT Werte für den Absturz.Es kann verschiedene Gründe für einen solchen geben –

+0

03-31 21: 43: 57.702: E/AndroidRuntime (28481): \t bei android.app.ActivityThread.main (ActivityThread.java:4340) 03-31 21: 43: 57.702: E/AndroidRuntime (28481): \t bei java.lang.reflect.Method.invokeNative (systemeigene Methode) 03-31 21: 43: 57.702: E/AndroidRuntime (28481): \t bei java.lang.reflect.Method.invoke (Methode.java:511) 03-31 21: 43: 57.702: E/AndroidRuntime (28481): \t bei com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run (ZygoteInit.java:784) 03-31 21: 43: 57.702: E/AndroidRuntime (28481): \t bei com.android.internal.os.ZygoteInit.main (ZygoteInit.java:551) – Bercik

Antwort

2

verwenden:

Button mainNext = (Button) findViewById(R.id.Recipe1); 
     mainNext.setOnClickListener(new OnClickListener() { 
      public void onClick(View v) { 
       final TextView mTextView = (TextView) findViewById(R.id.textView3); 
       mTextView.setText("Some Text"); 
    Intent i= new Intent(YOUR_CURRENT_ACTIVTY_NAME.this, recipedisplayscreen.class); 
///or you can use Intent i= new Intent(getBaseContext(),recipedisplayscreen.class); 
       startActivity(i); 
      } 
     }); 

und muss recipedisplayscreen Aktivität in AndroidManifest.xml

+1

I habe diesen Code zu meiner App hinzugefügt .... trotzdem bekomme ich immer noch einen Absturz ... ich denke das muss vom SetText Bit verursacht werden, als wenn ich es gelöscht habe funktionierte meine App gut:/ – Bercik

+0

nicht von settext(). poste beide activity code.dann werde ich dir sagen? –

+0

sehe meine Bearbeitung .... – Bercik

1
I think the your main layout do not contain any textView with id (R.id.textView3). 

Also the right way is to declare the TextView outside the click listener.. 
+0

es hat textview3: P – Bercik

+0

du hattest recht: P – Bercik

Verwandte Themen