从标签片段开始活动

时间:2016-02-24 15:55:28

标签: java android android-fragments

我正在尝试从标签片段开始一个活动,似乎无法让它工作! findviewbyid以红色突出显示,并且使用意图从片段转到新活动对我来说也不起作用!有人可以帮助澄清这一点,并告诉我如何从片段到新的活动!我已将代码包含在我遇到问题的地方,谢谢

public class tab2 extends Fragment {  
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

        View view =inflater.inflate(R.layout.tab2,container,false);

        return view;

        ImageButton pigsButton = (ImageButton) findViewById(R.id.pigsButton);

        pigsButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i = new Intent(tab2.this, pigs_story.class);
                startActivity(i);
            }
        });

    }

}

2 个答案:

答案 0 :(得分:2)

试试这个

使用view.findViewById();并重新排列return语句。

public class tab2 extends Fragment {  
@Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

        View view =inflater.inflate(R.layout.tab2,container,false);

        ImageButton pigsButton = (ImageButton) view.findViewById(R.id.pigsButton);

        pigsButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i = new Intent(tab2.this, pigs_story.class);
                startActivity(i);
            }
        });

        return view;
    }

}

答案 1 :(得分:1)

您正在做的是在加载所需布局后返回视图,将返回视图语句放在最后一个OnCreate函数中。

public class tab2 extends Fragment {  
        @Override
            public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

           View view =inflater.inflate(R.layout.tab2,container,false);

           ImageButton pigsButton = (ImageButton) findViewById(R.id.pigsButton);

                pigsButton.setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        Intent i = new Intent(tab2.this, pigs_story.class);
                        startActivity(i);
                        finish();
                    }
                });

                return view;
            }

        }