【发布时间】:2012-04-27 14:09:30
【问题描述】:
请原谅这个请求的简单性 - 但有没有办法让我通过布局而不是代码链接按钮的 onClick 命令。我正在尝试创建一个简单的应用程序,我希望能够制作按钮并让点击从一个“页面”转到另一个。
是否有网站可以概述如何使用 UI 为 droid 编写代码?
谢谢!
【问题讨论】:
标签: android user-interface layout
请原谅这个请求的简单性 - 但有没有办法让我通过布局而不是代码链接按钮的 onClick 命令。我正在尝试创建一个简单的应用程序,我希望能够制作按钮并让点击从一个“页面”转到另一个。
是否有网站可以概述如何使用 UI 为 droid 编写代码?
谢谢!
【问题讨论】:
标签: android user-interface layout
假设你有你的R.layout.main.xml。要找到这个去res/layout/main.xml
复制 XML,右键单击并将其粘贴到布局文件夹中。然后它会说Rename。将其重命名为您想要的任何名称。
现在专门复制这个,假设你放了
btn1
btn2
btn3
btn4
btn5
要使 id 标签转到每个按钮上的属性并滚动到 id 并将结尾重命名为 btn1 、2,3、4 等。
现在,如果您要将其放在 .java 文件中的 src/com.whateveryounamed.app/what ever you named .java 下
将此代码放在下面,它将起作用。下面是我在 xml 页面中有 5 个按钮的示例。
package com.nashvillekurds.app;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class kurdishhistoryapp extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn1 =(Button)findViewById(R.id.btn1);
Button btn2 =(Button)findViewById(R.id.btn2);
Button btn3 =(Button)findViewById(R.id.btn3);
Button btn4 =(Button)findViewById(R.id.btn4);
Button btn5 =(Button)findViewById(R.id.btn5);
btn1.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent = new Intent();
myIntent.setAction(Intent.ACTION_VIEW);
myIntent.setData(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
setContentView(R.layout.btn1);
}
});
btn2.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent = new Intent();
myIntent.setAction(Intent.ACTION_VIEW);
myIntent.setData(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
setContentView(R.layout.btn2);
}
});
btn3.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent = new Intent();
myIntent.setAction(Intent.ACTION_VIEW);
myIntent.setData(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
setContentView(R.layout.btn3);
}
});
btn4.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent = new Intent();
myIntent.setAction(Intent.ACTION_VIEW);
myIntent.setData(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
setContentView(R.layout.btn4);
}
});
btn5.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent = new Intent();
myIntent.setAction(Intent.ACTION_VIEW);
myIntent.setData(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
setContentView(R.layout.btn5);
}
});
}}
希望这对您有所帮助,如果不是抱歉,但您做错了什么......
【讨论】:
詹姆斯牛顿所说的涉及多个按钮。这是一个按钮的方式,只是为了清楚起见:
Button btn1 =(Button)findViewById(R.id.~btn1~);
btn1.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
Intent myIntent = new Intent();
myIntent.setAction(Intent.ACTION_VIEW);
myIntent.setData(android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI);
setContentView(R.layout.~btn1~);
}
});
除了不需要更改任何内容之外,只需更改按钮 id 和 xml id 即可与您的应用程序一起使用。按钮 btn 只是将其标记为系统,因此您应该保留它,并且 btn1.setOnClickListener... 也可以保留。只需更改 ~ 内的部分。一定要换~!我可能不会没有警告,而其他一些人也不会。
【讨论】: