我正在编写一个Android原生应用程序,该应用程序应向用户显示多个露营车模型的360度全景图。我有选择列表,这导致精确的模型。
我没有为每个活动定义活动,而是尝试将变量传递给panorama-activity来调用所请求的图像。但我说得不对。
这是接收端的代码:
public class Panoviewer extends PLView {
public void onCreate (Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
//this.load(new PLJSONLoader("res://raw/json_spherical"));
PLSpherical2Panorama panorama = new PLSpherical2Panorama();
Intent intentExtras = getIntent();
String pano = getIntent().getExtras().getString("pano");
Log.d("MSG", pano);
//gets R.raw.spherical_pano from previous Activity
panorama.setImage(new PLImage(PLUtils.getBitmap(this, R.raw.spherical_pano), false));
this.setPanorama(panorama);
}
}
我不想使用直接的“R.raw.spherical_pano”,而是想使用之前活动中的String。只需在“panorama.setImage ...”中进行交换就无法实现。
答案 0 :(得分:1)
为什么不直接传递R.raw.sherical_pano?由于资源引用是int,您可以像
一样传递它int pano = getIntent().getExtras().getInt("key");
然后设置为
panorama.setImage(new PLImage(PLUtils.getBitmap(this, pano), false));
答案 1 :(得分:0)
尝试使用:
int myId = context.getResources().getIdentifier("yourString","raw", context.getPackageName())
然后:
panorama.setImage(new PLImage(PLUtils.getBitmap(this, myId), false));