我创建了两个活动。
主Activity.java(这是应用程序启动的活动,用户单击名为&#34的按钮;显示计时器"它将用户带到下一个活动)
displayTimer.java(这是第二个具有ListView的活动,每行包含数据。项目点击用户返回主活动)
我试图将存储在该行中的字符串传递给主要活动。
这是显示计时器活动的主要代码
setResult()
这是来自Main活动的代码,我在其中调用onActivityResult方法来从displaytimer通过intent获取数据。但是我无法获得数据。不知道我做错了什么。任何输入都没问题。
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.user_list_view);
listView = (ListView) findViewById(R.id.customtimer_listview);
customTimerAdapter = new CustomTimerAdapter(this, R.layout.row);
BackGroundTask backGroundTask = new BackGroundTask(this);
backGroundTask.execute("Get_info");
registerForContextMenu(listView);
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
TextView textView = (TextView) view.findViewById(R.id.time_entered);
String timeRetrevied = textView.getText().toString();
//System.out.println(timeRetrevied);
Intent intentExtras = new Intent(displayTimer.this,MainActivity.class);
intentExtras.putExtra("TIME_DATA",timeRetrevied);
setResult(RESULT_OK, intentExtras);
//startActivityForResult(intentExtras,SECOND_ACTIVITY_REQUEST_CODE,null);
finish();
}
});
}
}
答案 0 :(得分:3)
而不是
data.getDataString()
使用
data.getStringExtra("TIME_DATA")
getDataString以编码的String格式返回URI,这不是您要求的,因为您没有传入数据。 当您使用ID = TIME_DATA传递Sting文本时,使用相同的ID使用getStringExtra(“TIME_DATA”)获取字符串;