我有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);
}
}
);
}
}
答案 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);
}
}
);
}