Android 使用多个按钮启动不同的活动
我有三项活动。主活动是带有两个按钮的主屏幕,每个按钮应显示最后两个活动中的一个。我在意图模式和切换模式下尝试了多种按钮的方法;但我仍然可以有两个工作按钮。第一个按钮启动其链接活动没有任何问题,但第二个按钮仍然不会显示。以下是java代码:Android 使用多个按钮启动不同的活动,android,android-intent,Android,Android Intent,我有三项活动。主活动是带有两个按钮的主屏幕,每个按钮应显示最后两个活动中的一个。我在意图模式和切换模式下尝试了多种按钮的方法;但我仍然可以有两个工作按钮。第一个按钮启动其链接活动没有任何问题,但第二个按钮仍然不会显示。以下是java代码: package com.live.app; import android.app.Activity; import android.content.Context; import android.content.Intent; import android.
package com.live.app;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Button;
import android.view.View;
import android.view.View.OnClickListener;
public class MainActivity extends Activity {
Button button;
Button button01;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
addListenerOnButton();
}
public void addListenerOnButton() {
final Context context = this;
button = (Button) findViewById(R.id.buttonUrl);
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(context, WoneWideo.class);
startActivity(intent);
}
});
}
public void addListenerOnButton2() {
final Context context = this;
button01 = (Button) findViewById(R.id.button01);
button01.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
Intent intent = new Intent(context, WebViewActivity.class);
startActivity(intent);
}
});
}
}
主布局文件内容:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
..........................
..............................
<Button
android:id="@+id/buttonUrl"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/live_button"
android:onClick="onClick"/>
<Button
android:id="@+id/button01"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/vod_button"
android:onClick="onClick"/>
</LinearLayout>
您没有在onCreate()
中调用addListenerOnButton2()
。您只调用了addListenerOnButton()
您没有在onCreate()
中调用addListenerOnButton2()
。您只调用了addListenerOnButton()
您忘记调用addListenerOnButton2()
。无论如何,你可以使你的代码简单
试试这个:
Button btn1,btn2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1 = (Button)findViewById(R.id.buttonUrl);
btn2 = (Button)findViewById(R.id.button01);
}
public void onClick(View v){
if(v.getId() == R.id.buttonUrl){
Intent intent = new Intent(context, WoneWideo.class);
startActivity(intent);
}else if(v.getId() == R.id.button01){
Intent intent = new Intent(context, WebViewActivity.class);
startActivity(intent);
}
}
您忘记调用addListenerOnButton2()
。无论如何,你可以使你的代码简单
试试这个:
Button btn1,btn2;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn1 = (Button)findViewById(R.id.buttonUrl);
btn2 = (Button)findViewById(R.id.button01);
}
public void onClick(View v){
if(v.getId() == R.id.buttonUrl){
Intent intent = new Intent(context, WoneWideo.class);
startActivity(intent);
}else if(v.getId() == R.id.button01){
Intent intent = new Intent(context, WebViewActivity.class);
startActivity(intent);
}
}
当xml中有一个属性android:onClick=“onClick”
时,就不需要设置侦听器了。您唯一需要的是一个带有签名的函数public void onClick(View v){}
因此,活动内容如下:
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void onClick(View v){
switch(v.getId()){
case R.id.buttonUrl:
Intent intent = new Intent(context, WoneWideo.class);
startActivity(intent);
break;
case R.id.button01:
Intent intent = new Intent(context, WebViewActivity.class);
startActivity(intent);
break;
}
}
当xml中有一个属性android:onClick=“onClick”
时,就不需要设置侦听器了。您唯一需要的是一个带有签名的函数public void onClick(View v){}
因此,活动内容如下:
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void onClick(View v){
switch(v.getId()){
case R.id.buttonUrl:
Intent intent = new Intent(context, WoneWideo.class);
startActivity(intent);
break;
case R.id.button01:
Intent intent = new Intent(context, WebViewActivity.class);
startActivity(intent);
break;
}
}
谢谢,这很有效。但我将上下文更改为getBaseContext以使其正常工作。谢谢,它正常工作了。但我将上下文更改为getBaseContext以使其正常工作。谢谢Nizam。它只是代码。我更改了这一行以使其正常工作:intent=newintent(getBaseContext(),WebViewActivity.class);不客气。复制粘贴时,这是一个错误。实际上它是Intent Intent=newintent(MainActivity.this,WebViewActivity.class)代码>谢谢你,尼扎姆。它只是代码。我更改了这一行以使其正常工作:intent=newintent(getBaseContext(),WebViewActivity.class);不客气。复制粘贴时,这是一个错误。实际上它是Intent Intent=newintent(MainActivity.this,WebViewActivity.class)代码>