有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何访问和初始化变量t1t6(TextView)

需要从我的活动中访问并初始化变量t1-t6(在片段中)。我有一个大麻烦,如果你有任何想法请告诉我)。如果您需要更多详细信息-没问题)

代码:

页面片段。爪哇

public class PageFragment extends Fragment {

    static final String ARGUMENT_PAGE_NUMBER = "arg_page_number";
    TextView t1, t2, t3, t4, t5, t6;
    int pageNumber;
    String a;



    static PageFragment newInstance(int page) {
        PageFragment pageFragment = new PageFragment();
        Bundle arguments = new Bundle();
        arguments.putInt(ARGUMENT_PAGE_NUMBER, page);

        pageFragment.setArguments(arguments);
        return pageFragment;
    }

    @Override
    public void onAttach(Activity activity) {
        super.onAttach(activity);

    }





    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        pageNumber = getArguments().getInt(ARGUMENT_PAGE_NUMBER);


    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.fragment, null);
        String a = getArguments().getString(ARGUMENT_PAGE_NUMBER);
        t1=(TextView)view.findViewById(R.id.t1);
        t2=(TextView)view.findViewById(R.id.t2);
        t3=(TextView)view.findViewById(R.id.t3);
        t4=(TextView)view.findViewById(R.id.t4);
        t5=(TextView)view.findViewById(R.id.t5);
        t6=(TextView)view.findViewById(R.id.t6);
        return view;
    }
}

共 (2) 个答案

  1. # 1 楼答案

    你的意思是t1-t6在活动中,你想在片段中使用它们 所以你需要

    TextView t1=(TextView) getActivity().findViewById(R.id.t1Id);

    为其他人做这件事

  2. # 2 楼答案

    我不知道我是否正确理解了你的问题,但似乎你想初始化t1-t6,你将从片段中处理它们,但如果是的话,初始化正在进行中

    在您的片段中,对所有文本视图执行此操作

            static TextView t1;
    
            public static void setT1(TextView t1) {
                YourFragment.t1 = t1;
            }

    在你的活动中,做到以下几点

    TextView t1=(TextView)findViewById(R.id.t1);
    YourFragment.setT1(t1);

    为其他人做,但我不知道你为什么要这样做