我正试图让一个按钮使用来自另一个活动的一些数据,我确实搜索过,但我没有找到方法。
onClickListener不起作用。 这是我的onCreate里面的代码:
super.onCreate(savedInstanceState);
setContentView(R.layout.show_message);
Intent intent = getIntent();
String msg = intent.getStringExtra("MESSAGE");
ScrollTextView scrolltext = (ScrollTextView) findViewById(R.id.scroll_text);
scrolltext.setText(msg);
scrolltext.setTextSize(220);
scrolltext.startScroll();
super.onResume();
DialogFragment mDialog = new GeneralDialogFragment();
mDialog.show(getSupportFragmentManager(), "Dialog TAG");
ImageButton mImageButton = (ImageButton)findViewById(R.id.image_button);
mImageButton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
//I'm sure this is not the to make this button works. What code should I put here to pass this data to the ScrollTextView?
scrolltext.setText(msg);
scrolltext.setTextSize(220);
scrolltext.startScroll();
}
});
答案 0 :(得分:0)
您编写的这两行仅用于从上一个正在执行的活动中获取信息
Intent intent = getIntent();
String msg = intent.getStringExtra("MESSAGE");
如果您想在任何时候使用其他活动的数据,您必须使用以下行保存上一个活动中的数据:
SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
editor.putString("msg", "MESSAGE");
editor.commit();
并按照以下方式调用您的活动:
SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE);
String yourmessage = prefs.getString("msg", null);
if (restoredText != null) {
String name = prefs.getString("msg", "No name defined");//"No name defined" is the default value.
}