-3

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

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

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

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

4

5 回答 5

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>
于 2013-05-31T04:48:26.733 回答
0

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

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

    例如:android:onClick="btnHelloWorldClick"

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

例如:

public void btnHelloWorldClick(View v)
{
  System.out.println("Hello world");  
  // or Toast.makeText(this, "Hello world", Toast.LENGTH_LONG).show();
}
于 2013-05-31T04:49:33.777 回答
0

你可以做:

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

例如:

于 2013-05-31T04:59:59.320 回答
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();
   }

以编程方式创建按钮

主要活动

   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; 
  }      
  }
  }
于 2013-05-31T05:03:30.753 回答
0

那么这个问题很可能会被关闭,但这是您需要知道的要处理任何视图的点击,让它成为相对布局、按钮、文本视图等,您需要实现 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"

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

这都是关于按钮点击的

于 2013-05-31T04:52:24.303 回答