2017-05-23 2 views
-4

私にはアクティビティがあります。ここではTextViewButtonです。私が前進して同じ活動に戻ったら、TextViewからsetText()に新しいメッセージ(クリップボードメッセージ)を設定しています。今私がButtonクリックでTextViewのテキストを取得した場合、私は古い値を得ています。また、新しいメッセージでテキストビューが更新されることもありません。あなたが背景からか、他の活動から来るときなぜtextviewはボタンクリックで古い値を表示するのですか?

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()'は常に新しい値を設定するTextView –

+0

の中に表示される値でなければなりません。 – Pavan

+0

ログに新しいテキストが追加されていますか? –

答えて

0

のonCreate()は、あなたがそれを更新する場合はcrated活動の時に一度だけ呼ばれることは、あなたがonResume()はとてもこれを置くを使用する必要があります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

ありがとう@パヴァン。あなたはそれを解決しました。それは今働いている。アクティビティのライフサイクルをちょうど過ぎ去った。 – Sudhakar100

+0

あなたは答えとしてそれを受け入れることができます... – Pavan

0

ただ問題に解決し、ボタンのクリックにしてクリップボードマネージャの行をコピー

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); 
} 
関連する問題