2017-05-23 2 views
-4

Ich habe eine Aktivität, wo ich eine TextView und Button habe. Wenn ich vorwärts gehe und zur gleichen Aktivität zurückkomme, setze ich eine neue Nachricht (Zwischenablage-Nachricht) an die TextView über setText(). Wenn ich jetzt den Text TextView auf Button klicke, bekomme ich den älteren Wert. Außerdem wird die Textansicht nicht mit der neuen Nachricht aktualisiert.Warum Textansicht Text zeigen älteren Wert auf Knopfdruck?

public class MainActivity extends AppCompatActivity implements View.OnClickListener{ 

     Button get_video; 
     TextView text_view; 

      @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 
      Log.d("start","start"); 
      text_view =(TextView) findViewById(R.id.texturl); 
      get_video=(Button) findViewById(R.id.get_video); 


      ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); 
       String paste_url=clipboard.getText().toString(); 
      Log.d("clip",paste_url); 

       text_view.setText(paste_url); 
      Log.d("text",text_view.getText().toString()); 




      get_video.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
       String url = text_view.getText().toString(); 
       Log.d("url",url); 
       } 
      }); 

     } 

    } 
+0

'text_view.getText()' sollte immer der Wert sein, der im TextView –

+0

angezeigt wird, in dem Sie einen neuen Wert auch für diesen Code eingeben? – Pavan

+0

Sie erhalten neuen Text in den Protokollen? –

Antwort

0

onCreate(), wenn Sie es aktualisieren möchten crated nur einmal zum Zeitpunkt der Aktivität aufgerufen wird, wenn Sie von Hintergrund oder aus anderen Aktivitäten kommen Sie onResume() so setzen diese verwenden in onResume()

@Override 
    protected void onResume() { 
     super.onResume(); 
     ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); 
     if(clipboard.getText()!=null) 
     { 
      String paste_url=clipboard.getText().toString(); 
      Log.d("clip",paste_url); 

      text_view.setText(paste_url); 
     } 

    } 
+0

Danke @Pavan. Du hast es gelöst. Es funktioniert jetzt. Ich bin gerade durch den Lebenszyklus von Aktivitäten gegangen. – Sudhakar100

+0

toll kannst du es als Antwort akzeptieren ... – Pavan

0

kopieren Sie einfach die Zwischenablage-Manager Linien in der Schaltfläche klicken, löst das Problem

get_video.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       ClipboardManager clipboard = (ClipboardManager) getSystemService(Context.CLIPBOARD_SERVICE); 
       String paste_url=clipboard.getText().toString(); 
       Log.d("clip",paste_url); 
       text_view.setText(paste_url); 
       url = text_view.getText().toString(); 
      Log.d("url",url); 
} 
Verwandte Themen