2016-10-14 2 views
-2

Ich habe diesen Code zuerst in seiner eigenen Aktivität geübt. Aber jetzt möchte ich die Zeit Textinformationen zu einer anderen Aktivität mit Absicht senden, aber ich kann nicht herausfinden, wie, Sie sehen, ich brauche eine Zeichenfolge, um diese Informationen an eine andere Aktivität mit einer Absicht Methode, aber meine Zeit Text zu senden ist nur ein TextView und keine Zeichenfolge. Und als ich versuchte, es in eine Zeichenfolge zu ändern, funktionierte die .setText Methode nicht damit. Was denkst du sollte ich tun?Informationen an Absicht senden

Code:

handsomeButton.setOnClickListener(
       new Button.OnClickListener() { 
        public void onClick(View v) { 

         int getvaluehour = numPickerHour.getValue(); 
         int getvalueminute = numPickerMin.getValue(); 

         new CountDownTimer(hoursandMinstomils, 1000) { 

          public void onTick(long millisUntilFinished) { 

           long millis = millisUntilFinished; 

           //set text 

           String hms = String.format("Viberation end in: " + "%02d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(millis), TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)), TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis))); 
           myText.setText(hms); 



          public void onFinish() { 

           myText.setText("TIME'S UP!!"); //On finish change timer text 
          } 
         }.start(); 

Grundsätzlich möchte ich myText in einer neuen Aktivität zeigen.

+0

Verwenden Sie einfach myText.getText() – cuoka

+0

Verwendung myText.getText () .toString() –

+0

Sie möchten ein TextView-Objekt über Absicht senden? tun Sie dies nicht, erstellen Sie eine Textansicht in der Empfängeraktivität und setzen Sie nur den Text .... – Opiatefuchs

Antwort

0

1) Wie senden und erhalten Integer von extra?

Senderseite:

Intent myIntent = new Intent(A.this, B.class); 
myIntent.putExtra("VariableName", str); 
startActivity(myIntent); 

Empfängerseite:

Intent mIntent = getIntent(); 
String strValue = mIntent.getStringExtra("VariableName"); 

2)Wie in Zeichenfolge Text von Textfeld erfassen?

//TFusername is a TextView 
TextView a = (TextView)findViewById(R.id.TFusername); 

//Now get text inside this TextView 
String str = a.getText().toString(); 
+0

Ich bekomme einen Fehler in der ("VariableName", 0) -Parameter mit der 0 sagt, es sollte eine Zeichenfolge sein – Kardio

+0

Ich aktualisierte die Antwort. Bitte entfernen Sie diesen Teil ', 0'. Es wird nicht für die Zeichenfolge verwendet. Es wird für Integer –

+0

@Kardio verwendet. Bitte lassen Sie mich wissen, wenn Sie noch ein Problem haben :) –

0

Sie müssen Textwert von Ihrem myText bekommen - myText.getText() toString(). - und legt es als zusätzlicher Zeichenfolge der Absicht Ihrer neuen Tätigkeit dann:

Intent i = new Intent(this, ActivityTwo.class); 
i.putExtra("myTextValue",myText.getText().toString()); 
startActivity(i); 

und in Ihrer Zielaktivität onCreate Methode:

getIntent().getStringExtra("myTextValue","default value"); 
+0

können Sie bitte erklären, was "myTextValue" und "Standardwert" sind bitte? – Kardio

+0

myTextValue ist das Tag des Werts, und der Standardwert ist ein Wert, der verwendet wird, wenn myTextValue null ist. Nehmen wir beispielsweise an, Sie setzen "value one" in myTextValue als extra, sobald Sie getIntent() aufrufen. GetStringExtra ("myTextValue" ,"Standardwert"); Sie erhalten "Wert eins". Wenn Sie nichts in myTextValue eingeben, wenn Sie getIntent(). getStringExtra ("myTextValue", "Standardwert") aufrufen, erhalten Sie "Standardwert". –

Verwandte Themen