我有一项活动,我有Button
和TextView
。如果我继续前进并返回相同的活动,我正在通过setText()
向TextView
设置新消息(剪贴板消息)。现在,如果我在Button
点击时收到 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);
}
});
}
}
的文字,我就会得到较旧的值。此外,它没有使用新消息刷新textview。
hdrs
答案 0 :(得分:0)
onCreate()在活动时只调用一次,如果您想要更新,则来自后台或来自其他活动时必须使用 onResume()< / strong>所以把它放在 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);
}
}
答案 1 :(得分: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);
}