我正在开发一个在Android 3 +上运行的词典应用
在 Activity1 中,有一个EditText框,用户可在其中输入要查找的单词。然后使用Webview在 Activity2 中显示单词的含义。
我知道在Android 3+中,用户可以长按网页视图中的项目并将其复制到剪贴板。因此,我想在Activity2中添加一个按钮来处理复制到剪贴板的任何文本。为了澄清,我想在单击此按钮时,将调用Activity1并将复制的文本自动粘贴到其EditText框中(用于查找)
我如何以编程方式执行此操作?
如果您能提供示例和/或教程,我将非常感激。非常感谢你提前。
答案 0 :(得分:1)
使用intent
将您的值从activity1传递给activity2Intent i = new Intent(Activity1.this,Activity2.class);
i.putExtra("MyValue", value);
startActivityForResult(i, ActDocument.DIALOG_DOCUMENTDETAIL);
在Activity2中
@Override
public void onCreate(Bundle savedInstanceState) {
//...
Intent intent = this.getIntent();
value = intent.getSerializableExtra("MyValue");
//...
}
答案 1 :(得分:0)
您可以使用共享首选项来存储字符串或其他值。 在按钮单击事件中的另一个活动中使用共享首选项来获取字符串,然后将其设置为编辑文本..
答案 2 :(得分:0)
在活动1中:
SharedPreferences appSharedPrefs = PreferenceManager.getDefaultSharedPreferences(this.getApplicationContext());
Editor prefsEditor = appSharedPrefs.edit();
prefsEditor.putString("word1", string1);
//so on for other 'n' number of words you have
prefsEditor.commit();
在活动2中:
SharedPreferences appSharedPrefs = PreferenceManager.getDefaultSharedPreferences(this.getApplicationContext());
String meaning1 = appSharedPrefs.getString("word1", "meaning not found");
//so on for other 'n' number of words
答案 3 :(得分:0)
在活动2中:在按钮上单击:
Intent it = new Intent(Activity2.this, Activity1.class);
Bundle bundle=new Bundle();
bundle.putString("word", "Android");
it.putExtras(bundle);
startActivity(it);
活动1中的:
Bundle bundle=getIntent().getExtras();
if(bundle !=null)
{
String name=bundle.getString("word");
EditText edttxt=(EditText)findViewById(R.id.edtboxtest);
edttxt.setText(name);
}