1

我正在开发一个可以在 Android 3+ 上运行的字典应用程序

Activity1中,有一个 EditText 框,用户可以在其中输入他/她想要查找的单词。然后使用 Webview在Activity2中显示单词的含义。

我知道在 Android 3+ 中,用户可以长按网页视图上的项目并将其复制到剪贴板。因此,我正在考虑在 Activity2 中添加一个按钮来处理复制到剪贴板的任何文本。澄清一下,我希望当单击此按钮时,将调用 Activity1 并将复制的文本自动粘贴到其 EditText 框中(用于查找)

我怎么能以编程方式做到这一点?

如果您能提供示例和/或教程,我将不胜感激。非常感谢您提前。

4

4 回答 4

1

使用意图将您的价值从活动 1 传递到活动 2

Intent i = new Intent(Activity1.this,Activity2.class);
i.putExtra("MyValue", value);
startActivityForResult(i, ActDocument.DIALOG_DOCUMENTDETAIL);

在活动 2

@Override
    public void onCreate(Bundle savedInstanceState) {
    //...
    Intent intent = this.getIntent();
    value = intent.getSerializableExtra("MyValue");
    //...
}
于 2012-05-12T05:41:08.383 回答
0

您可以使用共享首选项来存储字符串或其他值。在按钮单击事件的另一个活动中,使用共享首选项获取字符串,然后将其设置为编辑文本。

于 2012-05-12T05:36:14.700 回答
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
于 2012-05-12T05:40:34.000 回答
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);
}
于 2012-05-12T05:42:30.780 回答