Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 使用多个按钮启动不同的活动_Android_Android Intent - Fatal编程技术网

Android 使用多个按钮启动不同的活动

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.

我有三项活动。主活动是带有两个按钮的主屏幕,每个按钮应显示最后两个活动中的一个。我在意图模式和切换模式下尝试了多种按钮的方法;但我仍然可以有两个工作按钮。第一个按钮启动其链接活动没有任何问题,但第二个按钮仍然不会显示。以下是java代码:

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)