单击第二个按钮的操作

时间:2016-04-12 11:59:45

标签: java android eclipse button

我有9个按钮,我需要制作9个页面。每个按钮都需要自己的页面才能在单击时导航到。其中1个需要导航到网站而不是他自己的活动。这样就完成了,而且已经完成了。

现在我需要为按钮创建一个活动,以便在点击时导航到该按钮。一旦我完成了,我知道该怎么做,我可以重复其他按钮。我有下面列出的代码,因为我的主要活动看起来像。这是导航到网站的按钮的代码。如果您有任何人可以参考我在哪里放置新代码,以及如何放置它,将非常感激。我对此很陌生,所以对你们很多人来说这可能是一个简单的问题。

我知道你必须更改Manifest中的一些代码,但我认为我可以排除那个,只是Mainactivity是问题..

package com.example.rodekruis;

import android.net.Uri;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.Button;

public class MainActivity extends Activity {
    private static Button button_sbm;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        OnClickButtonListener();
    }

        public void OnClickButtonListener() {
            button_sbm = (Button)findViewById(R.id.button2);
            button_sbm.setOnClickListener(
                    new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            Uri uri = Uri.parse("https://www.rkz.nl/nieuws_agenda_nieuws");

                             Intent intent = new Intent(Intent.ACTION_VIEW, uri);
                             startActivity(intent);
                        }

                    }
            );


        }

}

3 个答案:

答案 0 :(得分:1)

当用户点击按钮并检查点击按钮的ID时,您可以创建一个通用函数。

示例:

public void navigate(View v) {
    int id = view.getId();

    Intent intent; 
    if (id == R.id.button1) {
        Uri.parse("https://www.rkz.nl/nieuws_agenda_nieuws1");
        intent = new Intent(Intent.ACTION_VIEW, uri);
    }
    else if(id == R.id.button2) {
        intent = new Intent(MainActivity.this, ActivityButton2.class);
    }
    else if(id == R.id.button3) {

        intent = new Intent(MainActivity.this, ActivityButton3.class);
    }
    //Repeat for every button


    startActivity(intent);
}

在调用此函数的按钮中设置onclick属性。

示例:

<Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button1"
        android:onClick="navigate" />

在AndroidManifest.xml中声明您的新活动

示例:

<activity
    android:name=".ActivityButton2"
    android:label="ActivityButton2" >
</activity>
<activity
    android:name=".ActivityButton3"
    android:label="ActivityButton3" >
</activity>

答案 1 :(得分:0)

我认为你应该抽出时间阅读Basics First app,特别是Starting Activity

要回答你的问题,你需要声明8个新活动(如果每个按钮都有特定任务)或1个新活动(如果所有按钮导致类似内容的格式不同)

所以让我们假设它是第二种情况,所以你创建一个新活动,即ActivityB(在android中你必须注册你在Manifest <activity android:name=".ActivityB"/>中使用的所有活动)。开始该活动以下是代码

Intent intent = new Intent(MainActivity.this, ActivityB.class);
startActivity(intent);

所以就你的代码而言,它应该是下面的

public class MainActivity extends Activity  implements View.OnClickListener{

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    findViewById(R.id.button1).setOnClickListener(this);
    findViewById(R.id.button2).setOnClickListener(this);
    findViewById(R.id.button3).setOnClickListener(this);
    findViewById(R.id.button4).setOnClickListener(this);
    findViewById(R.id.button5).setOnClickListener(this);
    findViewById(R.id.button6).setOnClickListener(this);
    findViewById(R.id.button7).setOnClickListener(this);
    findViewById(R.id.button8).setOnClickListener(this);
    findViewById(R.id.button9).setOnClickListener(this);
}

@Override
public void onClick(View v) {
    Intent intent = null;
    switch (v.getId()) {
        case R.id.button1:
            intent = new Intent(MainActivity.this, ActivityB.class);
            break;
        case R.id.button2:
            Uri uri = Uri.parse("https://www.rkz.nl/nieuws_agenda_nieuws");
            intent = new Intent(Intent.ACTION_VIEW, uri);
            break;
        case R.id.button3:
            intent = new Intent(MainActivity.this, ActivityB.class);
            break;
        case R.id.button4:
            intent = new Intent(MainActivity.this, ActivityB.class);
            break;
        case R.id.button5:
            intent = new Intent(MainActivity.this, ActivityB.class);
            break;
        case R.id.button6:
            intent = new Intent(MainActivity.this, ActivityB.class);
            break;
        case R.id.button7:
            intent = new Intent(MainActivity.this, ActivityB.class);
            break;
        case R.id.button8:
            intent = new Intent(MainActivity.this, ActivityB.class);
            break;
        case R.id.button9:
            intent = new Intent(MainActivity.this, ActivityB.class);
            break;
    }
    startActivity(intent);
}}

答案 2 :(得分:0)

首先你必须创建新的WebViewActivity并在这个xml类中放置这些代码

<?xml version="1.0" encoding="utf-8"?>
<WebView  xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/webView1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
/>

并在您的新活动类中输入此代码。

public class WebViewActivity extends Activity {

    private WebView webView;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.webview);

        webView = (WebView) findViewById(R.id.webView1);
        webView.getSettings().setJavaScriptEnabled(true);
        webView.loadUrl("https://www.rkz.nl/nieuws_agenda_nieuws");

    }

现在打开此WebViewActivity On按钮单击。

public void OnClickButtonListener() {
            button_sbm = (Button)findViewById(R.id.button2);
            button_sbm.setOnClickListener(
                    new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                          Intent intent = new Intent(context, WebViewActivity.class);
                startActivity(intent);
                        }

                    }
            );


        }