Android 如何将数据从活动发送到片段活动?
关于这个问题,我参考了很多代码,但是我的问题没有得到任何帮助。 这是我的代码,我想从这里将数据发送到上一个Android 如何将数据从活动发送到片段活动?,android,android-fragments,Android,Android Fragments,关于这个问题,我参考了很多代码,但是我的问题没有得到任何帮助。 这是我的代码,我想从这里将数据发送到上一个片段活动: public class AddTask extends Activity { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.add_task); ImageButton posi
片段活动
:
public class AddTask extends Activity {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.add_task);
ImageButton position = (ImageButton) findViewById(R.id.select_position);
position.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent m = new Intent().setClass(getApplicationContext(),
MapActivity.class);
startActivity(m);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_add_task, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.accept:
FinishActivity();
finish();
break;
case R.id.cancle:
finish();
break;
}
return super.onOptionsItemSelected(item);
}
protected void FinishActivity() {
EditText activity = (EditText) findViewById(R.id.activity_name);
EditText description = (EditText) findViewById(R.id.description);
EditText address = (EditText) findViewById(R.id.address);
Bundle bundle = new Bundle();
bundle.putString("activity", activity.getText().toString());
if (activity.toString().isEmpty() || description.toString().isEmpty()
|| address.toString().isEmpty()) {
Toast.makeText(this, "Field must not be empty", Toast.LENGTH_LONG)
.show();
}
}
}
有人能告诉我在这个代码中使用什么来发送数据吗?我使用了Fragment
类来发送数据,但它在活动中出错
使用intent传递数据您得到的错误类型是什么?把你的日志贴在这里!你是如何从片段中调用你的活动的?你试过用谷歌搜索它吗?你知道片段
和活动
之间的区别吗?什么时候使用哪个?您在FinishActivity()中使用bundle对象做什么?谢谢您的解决方案。这和我正在做的一样,但我从未尝试将片段导入当前活动。所以它告诉我要把课堂变成“零碎的课堂”。
Bundle bundle = new Bundle();
bundle.putString("edttext", "From Activity");
// set Fragmentclass Arguments
Fragmentclass fragobj = new Fragmentclass();
fragobj.setArguments(bundle);
and in Fragment onCreateView method:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
String strtext = getArguments().getString("edttext");
return inflater.inflate(R.layout.fragment, container, false);
}