创建一个按钮和方法

时间:2013-05-31 04:42:01

标签: java android

我是java或android的新手,只需创建一个演示。

我在google上找到了很好的例子:https://github.com/rciovati/Android-KeyboardView-Example

现在我想在Java中创建一个按钮和方法,然后单击该按钮,调用该方法并显示 hello world 消息。

我需要很好的帮助,因为我不知道我想要更改的位置以及将代码放在创建按钮的位置。

5 个答案:

答案 0 :(得分:0)

您的代码,

Button btn=(Button)findViewById(R.id.button1);

     btn.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View arg0) {
            // TODO Auto-generated method stub


            Toast.makeText(getContext(), "Hello World", Toast.LENGTH_LONG).show();

        }
    });

和你的布局,

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".MainActivity" >

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerHorizontal="true"
        android:layout_marginTop="232dp"
        android:text="Button" />

</RelativeLayout>

答案 1 :(得分:0)

我不确定您的问题,但我假设您要使用打印Hello World消息的方法定义click侦听器。

  1. 在您的Button内部XML布局中包含android:onClick属性。

    例如:android:onClick="btnHelloWorldClick"

  2. 使用android:onClick属性中给出的相同名称定义Activity类中的方法。

  3. 例如:

    public void btnHelloWorldClick(View v)
    {
      System.out.println("Hello world");  
      // or Toast.makeText(this, "Hello world", Toast.LENGTH_LONG).show();
    }
    

答案 2 :(得分:0)

这个问题最有可能被关闭,但这是你需要知道的 要处理任何视图的点击,让它成为相对布局,按钮,textview等,你需要实现onClickListener并在界面的onclick函数内执行函数

您可以通过多种方式设置onclick侦听器:

1让你的活动实现onclickListener它会要求你实现onClick函数,你可以在那里运行你的函数

public class HomeScreenActivity extends Activity implements OnClickListener {
    public void onClick(View v) {
        int clickedId = v.getId();
        switch (clickedId) {
        case R.id.nearbyButtonHome:
            nearbyButtonAction();
            break;

        case R.id.cgExButtonHome:
            cgExButtonAction();
            break;

        case R.id.styleButtonHome:
            styleButtonAction();
            break;
        }
    }
}

2你可以直接在按钮对象上设置onclick监听器

close.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        dismiss();
    }
});

3您可以在布局文件

中为按钮标记添加属性
android:onClick="func1"

并在您的活动中创建此功能。

这就是按钮点击次数

答案 3 :(得分:0)

你可以这样做:

首先在xml布局的Button控制器中添加属性“android:onClick =”btnHelloWorldClick“”。

例如:

答案 4 :(得分:0)

在xml中定义按钮

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >

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

MainActivity.java

  setContentView(R.id.activity_main);
  Button b=(Button)findViewById(R.id.button1);
  b.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View arg0) {
        // TODO Auto-generated method stub
        // do something or call a function defined. 
        Toast.makeText(MainActivity.this, "Hello World", Toast.LENGTH_LONG).show();

    }
});

为xml中的按钮定义onclick属性

activtiy_main

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >

<Button
    android:id="@+id/button1"
    android:onClick="btnClick" // method
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Button" />
</RelativeLayout>

MainActivity.java

   public void btnClick(View v)
   {
      // do something 
     Toast.makeText(MainActivity.this, "Hello world", Toast.LENGTH_LONG).show();
   }

以编程方式创建按钮

MainActivity

   setContentView(R.layout.activity_main);   
   RelativeLayout rl = (RelativeLayout)findViewById(R.id.relativelayout);
   // Define relative layout in xml layout file.
   Button b = new Button(MainActivity.this);
   rl.addView(b);
   // button click using annonymous inner class   
   b.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View arg0) {
        // TODO Auto-generated method stub
        // do something or call a function defined.
        Toast.makeText(MainActivity.this, "Hello World", Toast.LENGTH_LONG);
    }
});    

activity_main.xml中

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:id="@+id/relativelayout" 
android:layout_height="match_parent"
tools:context=".MainActivity" >

您的类也可以实现OnClickListener。在那种情况下

 public class MainActivity extends Activity implements OnClickListener
 { 
  @Override
  protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.activity_main);      
  Button button = (Button) findViewById(R.id.button1)
  button.setOnClickListener(this);
  }
  @Override 
  public void onClick(View v) {
  switch(v.getId()) //returns int
  {
    case R.id.button1 :
          // do something or call a function defined.
          Toast.makeText(MainActivity.this, "Hello World", Toast.LENGTH_LONG);
    break; 
  }      
  }
  }