创建可点击的Android布局

时间:2015-06-10 17:31:17

标签: android android-intent android-fragments android-activity

我有一个包含两个片段的相对布局。我的java代码旨在根据屏幕的方向决定选择哪个片段。我希望在触摸屏幕时让应用切换到新活动,但我无法弄清楚如何对其进行编码。我尝试将主要活动xml设置为可点击并在那里设置意图但它不起作用。我也试过允许片段xml可以点击,但是我不能用片段java文件设置一个意图。如果有人可以提供帮助,我的主要活动就像这样。

    public class StartPage extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        RelativeLayout useMe;

        FragmentManager fragmentManager = getFragmentManager();

        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();

        Configuration configInfo = getResources().getConfiguration();

        if (configInfo.orientation == Configuration.ORIENTATION_LANDSCAPE) {

            StartPageLandscapeFragment startPageLandscapeFragment = new StartPageLandscapeFragment();

            fragmentTransaction.replace(android.R.id.content, startPageLandscapeFragment);

            useMe = (RelativeLayout) findViewById(R.id.startpage_landscape_layout);

        } else {

            StartPagePortraitFragment startPagePortraitFragment = new StartPagePortraitFragment();

            fragmentTransaction.replace(android.R.id.content, startPagePortraitFragment);

            useMe = (RelativeLayout) findViewById(R.id.startpage_portrait_layout);
        }

        fragmentTransaction.commit();

        useMe.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(StartPage.this, Question1.class);

                startActivity(intent);
            }
        });
    }

}

3 个答案:

答案 0 :(得分:0)

此活动需要setContentView(R.layout.your's layout);

答案 1 :(得分:0)

您为RelativeLayout设置onClickListener的具体位置是什么?你需要像

这样的东西
useMe.setOnClickListener(new View.OnClickeListener())

答案 2 :(得分:0)

经过进一步调查后,我发现我正在以奇怪的方式使用碎片。我正在使用片段来确定取决于方向的布局,而不知道我可以一起使用单独的布局文件夹来做到这一点。我删除了所有碎片工作,现在一切都很好。