我目前正在尝试获取通过 REST API 调用获取的数据,将其解析为我需要的信息,然后将该信息传递给新活动。我将来自 loopj.com 的异步 HTTP 客户端用于 REST 客户端,然后分别将以下代码用于我的onClick
以及onCreate
当前和未来的活动。
Eclipse 没有为我的任何代码传递任何错误,但是当我尝试在模拟器中运行时,当新的活动/视图打开时,我什么也得不到(即空白屏幕)。我尝试在我的 REST CLIENT 中使用不同的 URL 进行编码,但我仍然什么也看不到。我什至通过注释掉 try/catch inonClick
并更改venueName
tobundle.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);
}
}
谢谢你的帮助。非常感谢。