我正在尝试检索我添加到捆绑包中的一些数据,但我无法使用正常的方式对其进行检索。
我当前的代码是
Intent i = getIntent();
Bundle bundle = i.getExtras();
for (String key : bundle.keySet()) {
Object value = "start_color";
start_color = String.format("%s", key);
}
这会获取包值,但是当我使用像这样的标准代码时
Intent i = getIntent();
Bundle bundle = i.getExtras();
if (bundle != null)
{
String value = bundle.getString("start_color");
}
无法获得捆绑值我很困惑为什么会发生这种情况!有人可以告诉我为什么会这样吗?
这是我将值放入Bundle
的代码String rgbString = "R: " + Color.red(color) + " B: " + Color.blue(color) + " G: " + Color.green(color);
//Change activity send data
Intent device = new Intent(v.getContext(), Create_Preset.class);
device.putExtra(rgbString,"start_color");
startActivity(device);
overridePendingTransition(R.anim.left_in, R.anim.left_out);
我甚至通过REST API使用更改的代码将新行添加到我的预设表中,以便那些想知道捆绑包是否具有任何值,是的!是的!
以下是我存储值的数据库上的选择,请参阅start_color
和end_color
这些是我从包中获取的值
Host: localhost Database: led Generation Time: Jan 17, 2015 at 04:37 PM Generated by: phpMyAdmin 4.2.7.1 / MySQL 5.6.20 SQL query: SELECT * FROM `preset` WHERE 1 LIMIT 0, 25 ; Rows: 2 Current selection does not contain a unique column. Grid edit, checkbox, Edit, Copy and Delete features are not available. preset starttime_hour starttime_min endtime_hour endtime_min startColor endColor test 12 0 12 0 R: 159 B: 159 G: 159 R: 159 B: 159 G: 159 test2 12 0 12 0 R: 39 B: 122 G: 91 R: 39 B: 122 G: 91
答案 0 :(得分:1)
您将值添加为键,将键添加为值。
正确: Intent.putExtra(键,值)
你有什么: device.putExtra(rgbString,“start_color”);
答案 1 :(得分:-1)
您需要使用Iterator接口从键集中获取值,因为bundle.keySet返回一组字符串。 例如
Set<String> keys = bundle.keySet();
Iterator<String> itr = keys.iterator();
while(itr.hasNext()) {
String key = itr.next();
String value = bundle.get(key);
}