每个布局上都有3个按钮。当我在results.xml中单击按钮MOH时,将调用MOHactivity并显示results_health布局。但是,当我想点击results_health中的任何按钮时,就像屏幕已经冻结一样。但是,如果我单击“返回”按钮,它将返回到我的主要活动。我不知道怎么玩这个。感谢。
ResultsActivity.java与Result_PDRM.java相同; Result_MOH.java(OnCreate中())
ImageView myMOHButton = (ImageView) findViewById(R.id.MOH_Button);
myMOHButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v)
{
setContentView(R.layout.results_health);
}
});
ImageView myPDRMButton = (ImageView) findViewById(R.id.PDRM_Button);
myPDRMButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v)
{
setContentView(R.layout.results_pdrm);
}
});
ImageView myMainButton = (ImageView) findViewById(R.id.Main_Button);
myMainButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v)
{
setContentView(R.layout.main);
}
}
);
result.xml与results_health.xml& result_pdrm.xml(results_health没有MOH ImageView,results_pdrm没有PDRM ImageView)
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
android:id="@+id/widget56"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:background="@drawable/bgnd">
<TextView android:id="@+id/MOH" android:textStyle="bold" android:textColor="#ff00ff00" android:text="Health Details" android:layout_width="wrap_content" android:textSize="25sp" android:layout_height="wrap_content" android:layout_x="6dip" android:layout_y="9dip"></TextView>
<ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@id/JPJ_Button" android:src="@drawable/jpj1" android:layout_y="425dip" android:layout_x="2dip"></ImageView>
<ImageView android:layout_width="wrap_content" android:id="@id/PDRM_Button" android:layout_height="wrap_content" android:src="@drawable/pdrm1" android:layout_x="94dip" android:layout_y="425dip"></ImageView>
<ImageView android:layout_width="wrap_content" android:id="@id/JPN_Button" android:layout_height="wrap_content" android:src="@drawable/camera_48" android:layout_x="186dip" android:layout_y="425dip"></ImageView>
<ImageView android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@id/Main_Button" android:src="@drawable/camera_small" android:layout_x="277dip" android:layout_y="425dip"></ImageView>
</AbsoluteLayout>
请帮忙。
答案 0 :(得分:2)
您在此处所做的是替换当前活动的XML布局。它看起来被冻结的原因是因为你在你的代码上打了一个新的UI,但没有将任何ClickHandler附加到按钮上,因为你还在运行前一个活动的代码。
您想要做的是从一项活动转到另一项活动。要转到另一个活动,您需要声明一个意图。
ImageView myMainButton = (ImageView) findViewById(R.id.Main_Button);
myMainButton.setOnClickListener(new View.OnClickListener() {
public void onClick(View v)
{
Intent i = new Intent(ResultsActivity.this, Result_PDRM.class);
startActivityForResult(i,0);
}
}
);
这会将您从ResultsActivity转到Result_PDRM。然后,在Result_PDRM中的onCreate中,调用:
setContentView(R.layout.results_pdrm);
确保您在Result_PDRM中的clickHandlers连接到XML布局中的正确控件。
答案 1 :(得分:1)
我认为您最好使用startActivity(new Intent(...))
,以便更改布局(实际更改活动),因为您的按钮(旧布局)是仍然在新的布局工作