我是 java 或 android 的新手,只需创建一个演示。
我在谷歌上找到了很好的例子:https ://github.com/rciovati/Android-KeyboardView-Example
现在我想在 Java 中创建一个按钮和方法,然后在它们上单击按钮并调用该方法并将显示一条hello world消息。
我需要很好的帮助,因为我不知道我想在哪里更改以及在哪里放置创建按钮的代码。
我是 java 或 android 的新手,只需创建一个演示。
我在谷歌上找到了很好的例子:https ://github.com/rciovati/Android-KeyboardView-Example
现在我想在 Java 中创建一个按钮和方法,然后在它们上单击按钮并调用该方法并将显示一条hello world消息。
我需要很好的帮助,因为我不知道我想在哪里更改以及在哪里放置创建按钮的代码。
你的代码,
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>
我不确定您的问题,但我假设您想使用打印 Hello World 消息的方法定义单击侦听器。
在 XML 布局内的 Button 中包含android:onClick
属性。
例如:android:onClick="btnHelloWorldClick"
在 Activity 类中定义与 android:onClick 属性中给出的相同名称的方法。
例如:
public void btnHelloWorldClick(View v)
{
System.out.println("Hello world");
// or Toast.makeText(this, "Hello world", Toast.LENGTH_LONG).show();
}
你可以做:
首先在 xml 布局的 Button 控制器中添加属性“android:onClick="btnHelloWorldClick"”。
例如:
在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;
}
}
}
那么这个问题很可能会被关闭,但这是您需要知道的要处理任何视图的点击,让它成为相对布局、按钮、文本视图等,您需要实现 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"
并在您的活动中创建此功能。
这都是关于按钮点击的