创建可点击的android布局
我有一个包含两个片段的相对布局。我的java代码旨在根据屏幕的方向决定选择哪个片段。我想在触摸屏幕时让应用程序切换到一个新的活动,但我不知道如何编写代码。我尝试将主活动xml设置为可单击,并在那里设置意图,但它不起作用。我还尝试过允许片段xml可点击,但我无法设置片段java文件的意图。如果有人能帮忙,我的主要活动就是这样创建可点击的android布局,android,android-intent,android-fragments,android-activity,Android,Android Intent,Android Fragments,Android Activity,我有一个包含两个片段的相对布局。我的java代码旨在根据屏幕的方向决定选择哪个片段。我想在触摸屏幕时让应用程序切换到一个新的活动,但我不知道如何编写代码。我尝试将主活动xml设置为可单击,并在那里设置意图,但它不起作用。我还尝试过允许片段xml可点击,但我无法设置片段java文件的意图。如果有人能帮忙,我的主要活动就是这样 public class StartPage extends Activity { @Override protected void onCreat
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);
}
});
}
}
您需要
setContentView(R.layout.your的布局)此活动的代码>您在哪里为您的RelativeLayout设置onClickListener?你需要像这样的东西
useMe.setOnClickListener(new View.OnClickeListener())
经过进一步的调查,我发现我用了一种奇怪的方式使用碎片。我使用片段来确定依赖于方向的布局,而不知道我可以一起使用单独的布局文件夹来实现这一点。我删除了所有的碎片工作,现在一切都很好 您需要设置useMe.setOnClickLIstener(新的OnClickListener{和在onClick方法中发送您的intent@StanislavBondar不走运。我得到了这个错误,我在一个空对象引用上“试图调用虚拟方法'void android.widget.RelativeLayout.setOnClickListener(android.view.view$OnClickListener)'”我这样做了,但仍然没有。你必须在onCreate中设置contentview after super()并选择布局,其中你的相对布局是什么?你会得到什么异常?它必须处理碎片膨胀的问题。因此我认为是我的布局设计导致了错误,所以我现在要回去修复它,并在早上发布我的结果。