我目前正在尝试获取通过REST
API调用获取的数据,将其解析为所需的信息,然后将该信息传递给新活动。我使用的是异步HTTP客户端从loopj.com为REST客户端,然后使用我下面的代码onClick
,并onCreate
为当前和未来的活动,分别。
Eclipse不会为我的任何代码传递任何错误,但是当我尝试在模拟器中运行时,当新的活动/视图打开时,我什么也没得到(即白屏)。我尝试在REST
CLIENT中使用其他URL进行编码,但仍然看不到任何内容。我甚至通过注释掉try / catch
onClick
并更改venueName
为bundle.putString("VENUE_NAME", venueName);
来使API调用脱离方程式searchTerm
。仍然会出现新视图,但什么也不会显示。没有通过什么,或者我忘记了使第二个活动显示venueName
?
public void onClick(View view) {
Intent i = new Intent(this, ResultsView.class);
EditText editText = (EditText) findViewById(R.id.edit_message);
String searchTerm = editText.getText().toString();
//call the getFactualResults method
try {
getFactualResults(searchTerm);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
//Create the bundle
Bundle bundle = new Bundle();
//Add your data from getFactualResults method to bundle
bundle.putString("VENUE_NAME", venueName);
//Add the bundle to the intent
i.putExtras(bundle);
//Fire the second activity
startActivity(i);
}
第二个活动中应接收意图并捆绑并显示它的方法:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//Get the message from the intent
//Intent intent = getIntent();
//String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
//Get the bundle
Bundle bundle = getIntent().getExtras();
//Extract the data…
String venName = bundle.getString(MainActivity.VENUE_NAME);
//Create the text view
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(venName);
//set the text view as the activity layout
setContentView(textView);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
getActionBar().setDisplayHomeAsUpEnabled(true);
}
}
谢谢你的帮助。非常感谢。
您可以通过两种方式发送数据。目前,这就是您发送的方式。而且没有错。
//Create the bundle
Bundle bundle = new Bundle();
//Add your data from getFactualResults method to bundle
bundle.putString("VENUE_NAME", venueName);
//Add the bundle to the intent
i.putExtras(bundle);
startActivity(i);
但是,在您的代码(第二个Activity)中,您key
将Bundle称为,MainActivity.VENUE_NAME
但代码中没有任何内容表明您有一个类,该类返回的值是key
与Bundle一起发送的实际名称。将第二个活动中的代码更改为此:
Bundle bundle = getIntent().getExtras();
//Extract the data…
String venName = bundle.getString("VENUE_NAME");
//Create the text view
TextView textView = new TextView(this);
textView.setTextSize(40);
textView.setText(venName);
您可以使用它在第二个活动中签入捆绑包中是否包含密钥,并且您会知道key
捆绑包中不存在密钥。但是,上面的更正将使其为您工作。
if (bundle.containsKey(MainActivity.VENUE_NAME)) {
....
}
我尝试使用 如有任何帮助,不胜感激,谢谢。
我想把意图转移到Xamarin.Android中的另一个活动。基本上,我需要Intent.data和Intent.clipdata到另一个活动,所以我使用下面的代码来传输Intent,但我不知道检索它的正确方法。 下面是Main Activity中的代码 在第二活动中 如何在第二个活动中检索意图?
在SO上也有类似的问题,但没有一个对我有效。 我想在Activity1中获取被点击的图像并在Activity2中显示它。 我获取被点击图像的图像id如下所示: 并通过意图传递给另一个活动。 任何帮助都很感激。
Activity-2(将所选图像设置为屏幕背景图像的活动)
在活动1中,我将一张图片从url加载到imageview中(使用glide)。当我切换到活动2时,我断开了网络连接,我需要在另一个imageview中加载相同的图像。我该如何实现这一点?使用glide缓存在某处的图像可以做到这一点吗?
我目前正在做一个项目,我需要帮助。 我想发送的名称,总数量和总价的一个产品的数量在我的添加到购物车活动。 @override public void onListClick(final ItemInfo item){ 上面应该有什么代码发送到购物车活动?? toast.maketext(mainactivity.this,“added To cart”,toast.length_short).sh