我正在尝试将一个字符串从一个活动传递给另一个活动,并且它返回NULL,该字符串具有我以前保存的图像的uri。
在活动一中,我具有一个保存图像并将字符串URI放入类的变量中的函数。接下来,我放入代码。
活动一
paintImage.buildDrawingCache();
Bitmap bitmap = paintImage.getDrawingCache();
// this method is the one above
saveImage(bitmap);
presenter.getColorList();
startActivity(intent);
}
然后使用onCreate方法
Intent intent = getIntent();
// return null
String image = intent.getStringExtra("image_path");
第二项活动
<h5 href="/news/{{ last_post.pk }}">{{ last_post.title }}</h5>
答案 0 :(得分:1)
在查看实施方案之前,您要触发活动ResultsActivity,并将image_path值添加到延迟的回调中。
MediaScannerConnection.scanFile(this, new String[]{file.toString()}, null,
new MediaScannerConnection.OnScanCompletedListener() {
public void onScanCompleted(String path, Uri uri) {
Log.i("ExternalStorage", "Scanned " + path + ":");
Log.i("ExternalStorage", "-> uri=" + uri);
image_path = uri.toString();
intent.putExtra("image_path", image_path); // this will be called after some time
}
});
presenter.getColorList();
startActivity(intent);
在OnScanCompletedListener内部的intent.putExtra之后添加两行,并将其从onClickListener删除
答案 1 :(得分:1)
一旦在扫描仪结果之后保留图像文件,您可以执行以下操作来开始下一个活动。
Entry
在Activity2中,您可以执行以下操作。
from tkinter import *
root = Tk()
data_string = StringVar()
data_string.set("Hello World! But, Wait!!! You Can Select Me :)")
ent = Entry(root,textvariable=data_string,fg="black",bg="white",bd=0,state="readonly")
ent.pack()
root.mainloop()
答案 2 :(得分:0)
在您的主要活动中,如果您想在意图中传递字符串,则应该这样做
FirstActivity
Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
intent.putExtra("Keyname", image_path);
startActivity(intent);
SecondActivity
onCreate ....
if(savedInstanceState == null)
{
Bundle extras = getIntent().getExtras();
if (extras == null)
{
//Extra bundle is null
}else{
String image = extras.getString("Keyname");
}