将xml页面与布局链接

时间:2010-11-04 05:24:33

标签: android user-interface layout

请原谅这个请求的简单性 - 但是我有办法通过布局而不是代码链接按钮的onClick命令。我正在尝试创建一个简单的应用程序,我希望能够制作按钮,并且点击从一个“页面”转到另一个页面。

是否有网站可能会介绍如何使用UI为droid编码?

谢谢!

2 个答案:

答案 0 :(得分:1)

  1. 制作您想要的按钮数量。确保如果超过屏幕数量,您必须指定滚动视图。
  2. 假设您拥有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);
    
                }
            });
    
    
    }}
    

    希望如果没有抱歉这会有所帮助,但是你做错了......

答案 1 :(得分:0)

詹姆斯牛顿所说的涉及多个按钮。这是一个按钮的方式,只是为了清晰起见:

    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 ...也可以保存。只需改变〜中的部分即可。一定要改变〜!我可能不会没有警告,其他一些人也不会。