-1

我正在尝试在某些布局中编写 3 个可点击按钮。

  • 发送电子邮件的第一个按钮。
  • 链接到某个网站的第二个按钮。
  • 第三个按钮去一些 facebook 页面。

我真的被卡住了,因为我已经有一个按钮可以返回或返回上一个屏幕。我已经打电话给:

Intent intent = new Intent(PresentActivity.this, NextActivity.class);
startActivity(intent);   

在 java 文件的第一个按钮上,老实说,我不知道如何继续使接下来的三个按钮工作。我已经阅读了一些关于它的教程,但我还不明白。也许我的情况很简单,但我自己开始这样做。所以我会感谢任何人的帮助。

4

2 回答 2

2

下面的方式是 View 实现 Click listener 的优化方式

您可以android:onClick="myClickHandler"在 XML 布局中的每个按钮内包含。

myClickHandler()现在,在 Activity 类中声明一个方法,如下所示:

public void myClickHandler(View v)
{
     switch(v.getId()) {
          case R.id.button1:
            // code to execute on button1 click
           break;

          case R.id.button2:
            // code to execute on button1 click
           break;

          case R.id.button3:
            // code to execute on button1 click
           break;

     }      
}
于 2012-08-09T05:30:01.403 回答
0
    btn1=(Button)findViewById(R.id.btn1);
    btn2=(Button)findViewById(R.id.btn2);
    btn3=(Button)findViewById(R.id.btn3);

    btn1.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
            Intent email = new Intent(Intent.ACTION_SEND);
            email.putExtra(Intent.EXTRA_EMAIL, new String[]{"youremail@yahoo.com"});          
            email.putExtra(Intent.EXTRA_SUBJECT, "subject");
            email.putExtra(Intent.EXTRA_TEXT, "message");
            email.setType("message/rfc822");
            startActivity(Intent.createChooser(email, "Choose an Email client :"));
        }
    });
    btn2.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
        Uri uri = Uri.parse( "http://www.google.com" );
        startActivity( new Intent( Intent.ACTION_VIEW, uri ) );
        }
    }); 
    btn3.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View arg0) {
        Uri uri = Uri.parse( "http://www.facebook.com/abc" );
        startActivity( new Intent( Intent.ACTION_VIEW, uri ) );
        }
    });
于 2012-08-09T05:45:35.957 回答