如何将一个字符串从一个类中的函数循环内部传递给另一个类?

时间:2014-04-17 15:58:27

标签: android android-layout android-intent android-fragments textview

我试图传递一个字符串catcode(它是各个类别中的选定类别),它在class1中的一个函数中的2个循环中定义到另一个class2,但不知道如何去做。任何线索? 这是我的代码: 在Class1中:

public void onClick(final View view) {
switch (view.getId()) {
...cases..
case R.id.button_done:
...case stuff...
Intent intent = new Intent();

                if(abcNews != null && abcNews.size() > 0){
                    for(CategoryCheckableRow rwa : abcNews){
                        if(rwa.isSelected()){

                            String catCode = rwa.getCategoryName();
                            intent.putExtra("cat_name", catCode);
                            Log.d("newsdash", "category name is"+catCode);

                            break;
                        }

                    }
                }

                if(cnnNews != null && cnnNews.size() > 0){
                    for(CategoryCheckableRow rwa : cnnNews){
                        if(rwa.isSelected()){

                            String catCode = rwa.getCategoryName();
                            intent.putExtra("cat_name", catCode);

                            break;
                        }
                    }
                }

如此代码中所示,在这两个循环中,我定义了catCode,我需要将其传递给类2,这样: 等级2:

public View onCreateView(final LayoutInflater inflater, final ViewGroup container, final Bundle savedInstanceState) {


    frontpageHeader = view.findViewById(R.id.frontpage_header);
            ((TextView) frontpageHeader.findViewById(R.id.header_title)).setText(getActivity().getString(catCode));
            frontpageHeader.setOnClickListener(this);

    }
PS:请注意我一次只使用一个类别,比如说选择了abnews中的catCode或者选择了cnnNews并且识别出该字符串并且需要将其传递给另一个类class2,在那里它更新了基于标题的类选定的文字。

1 个答案:

答案 0 :(得分:0)

你已经把catCode放在了你的意图中,但我认为你的问题是你的Class2是一个片段而不是一个活动,所以假设你在代码中创建你的片段,你必须在你正在开始的活动中放置这样的东西

Bundle extras = getIntent().getExtras();
fragment.setArguments(extras);

在你的片段中

Bundle bundle = getArguments();
String catCode = bundle.getString("cat_name");