我有一个无法解决的问题,我对 android 还很陌生,我正在努力使用按钮来更改布局视图的基本概念。我的活动主要是这样
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/bg"
android:orientation="vertical"
tools:context=".MainActivity" >
<DigitalClock
android:id="@+id/DigitalClock"
android:layout_width="fill_parent"
android:layout_height="100dp"
android:textColor="#ffffff"
android:gravity="center"
android:textSize="70sp" />
<View
android:layout_width="fill_parent"
android:layout_height="3dp"
android:background="@color/line"
/>
<Button
android:id="@+id/AddAlarm"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/add_button"
/>
<Button
android:id="@+id/AddAlarm2"
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:text="@string/add_button"
/>
我可以让 AddAlarm 按钮打开 add_alarm 布局。但是当我打开 add_alarm 时,该视图上有一个按钮,我需要打开 add_alarm2,但它不起作用这是我的 MainActivity.java :
package com.example.emma;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.Window;
import android.widget.Button;
import android.widget.DigitalClock;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
DigitalClock dc = (DigitalClock) findViewById(R.id.DigitalClock);
final Button button = (Button) findViewById(R.id.AddAlarm);
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
setContentView(R.layout.add_alarm);
}
});
final Button button1 = (Button) findViewById(R.id.AddAlarm2);
button1.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
setContentView(R.layout.add_alarm2);
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
我有点理解如何使用按钮单击来更改视图,但我显然做错了。这是我的 add_alarm2 布局代码。但是当你点击 imagebutton android:id="@+id/AddAlarm2" 它什么也不做而不是打开视图 add_alarm2.xml 任何帮助将不胜感激
这是我的 add_alarm2.xml 文件:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@color/bg"
tools:context=".MainActivity" >
<ImageButton
android:id="@+id/AddAlarm2"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@null"
android:src="@drawable/normal"
android:scaleType="fitCenter"
/>
<View
android:layout_width="fill_parent"
android:layout_height="1dp"
android:background="@color/line"
/>
</LinearLayout>