如何创建将值从Activity传递到其他组件的方法

时间:2016-05-12 06:52:33

标签: java android android-fragments

我需要chapterId个片段中的lessonIdTablayout值。

将活动中的数据发送到片段的解决方案之一是在活动中使用公共方法发送值,并在片段中创建新实例并以片段形式给出值。

我有这个活动,我得到了捆绑。

 public class DetailActivity extends AppCompatActivity {

        private String chapterId;
        private String lessonId;


        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_detail);

            getBundle();

        }

        private void getBundle() {
            Bundle bundle = getIntent().getExtras();

            if (bundle != null) {
                chapterId = bundle.getString("CHAPTERID");
                lessonId = bundle.getString("LESSONID");
            }
        }

      ========  Method for sending data to other Activities and Fragments=====
        public String  getId(){

        }

    }

现在我的问题是如何编写此方法。感谢

2 个答案:

答案 0 :(得分:0)

活动

Intent intent = new Intent(this,yourActivity.class);
intent.putExtra("bundle",bundle);
startActivity(intent)
活动中

Bundle extras = getIntent().getExtras();
 if (extras != null) {
            chapterId = bundle.getString("CHAPTERID");

        }
片段的

Fragment myFragment = new MyFragment();
myFragment.setArguments( bundle );
片段

中的

Bundle extras = getArguments();

if (extras != null) {
            chapterId = bundle.getString("CHAPTERID");

        }

答案 1 :(得分:0)

你可以这样做

声明两种方法

public String getChapterId()
{
    return chapterId;
}

和第二种方法

 public String getLessionId()
{
    return lessonId;
}