android onclick方法吗,android – onClick方法问题

好的,所以我将在devoloper.android.com网站上浏览“MyFirstApp”的教程.我在最后一个教程中,我已经完成了你可以说的第一章的所有内容.唯一的事情是,在“开始另一个活动”课程的最后,它告诉你运行应用程序.好吧,当我运行它时,它会在模拟器上显示一个可单击的按钮,但是当您单击它时,它会收到运行时错误并强制关闭.我试图对此进行一些研究,但不知道发生了什么.错误是:java.lang.IlleglStateException:在android.widet.B上的视图类的onClick处理程序的活动类com.example.MyFirstApp.MainActivity中找不到方法sendmessage(view)

我将为此显示代码:

主要活动:

package com.example.myfirstapp;

import android.os.Bundle;

import android.app.Activity;

import android.content.Intent;

import android.view.Menu;

import android.view.View;

import android.widget.EditText;

public class MainActivity extends Activity {

public final static String EXTRA_MESSAGE = "com.example.myfirstapp.MESSAGE";

/** Called when the user clicks the Send button */

public void sendMessage(View view) {

Intent intent = new Intent(this, DisplayMessageActivity.class);

EditText editText = (EditText) findViewById(R.id.edit_message);

String message = editText.getText().toString();

intent.putExtra(EXTRA_MESSAGE, message);

startActivity(intent);

// Do something in response to button

}

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

// Inflate the menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main, menu);

return true;

}

}

activity_display_message:

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:paddingBottom="@dimen/activity_vertical_margin"

android:paddingLeft="@dimen/activity_horizontal_margin"

android:paddingRight="@dimen/activity_horizontal_margin"

android:paddingTop="@dimen/activity_vertical_margin"

tools:context=".DisplayMessageActivity" >

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/hello_world" />

DisplayMessageActivity.java:

package com.example.myfirstapp;

import android.annotation.SuppressLint;

import android.annotation.TargetApi;

import android.app.ActionBar;

import android.app.Activity;

import android.content.Intent;

import android.os.Build;

import android.os.Bundle;

import android.support.v4.app.NavUtils;

import android.view.MenuItem;

import android.widget.TextView;

public class DisplayMessageActivity extends Activity {

@SuppressLint("NewApi")

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

// Get the message from the intent

Intent intent = getIntent();

String message = intent.getStringExtra(MainActivity.EXTRA_MESSAGE);

// Create the text view

TextView textView = new TextView(this);

textView.setTextSize(40);

textView.setText(message);

// Set the text view as the activity layout

setContentView(textView);

// Make sure we're running on Fry or higher to use ActionBar APIs

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO) {

// Show the Up button in the action bar.

getupActionBar().setDisplayHomeAsUpEnabled(true);

}

}

private ActionBar getupActionBar() {

// TODO Auto-generated method stub

return null;

}

/**

* Set up the {@link android.app.ActionBar}, if the API is available.

*/

@TargetApi(Build.VERSION_CODES.HONEYCOMB)

private void setupActionBar() {

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {

getActionBar().setDisplayHomeAsUpEnabled(true);

}

}

@Override

public boolean onOptionsItemSelected(MenuItem item) {

switch (item.getItemId()) {

case android.R.id.home:

// This ID represents the Home or Up button. In the case of this

// activity, the Up button is shown. Use NavUtils to allow users

// to navigate up one level in the application structure. For

// more details, see the Navigation pattern on Android Design:

//

// http://developer.android.com/design/patterns/navigation.html#up-vs-back

//

NavUtils.navigateUpFromSameTask(this);

return true;

}

return super.onOptionsItemSelected(item);

}

}

### 回答1: 可以通过以下步骤在 Android Studio 中给按钮增加 onClick 方法: 1. 打开 layout 文件,找到要添加 onClick 方法的按钮。 2. 在按钮的 XML 标签中添加 onClick 属性,属性值为需要绑定的方法名,例如: ``` <Button android:id="@+id/my_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Click me" android:onClick="onButtonClick" /> ``` 3. 在相应的 Activity 中添加绑定的方法方法名与 onClick 属性值相同,例如: ``` public void onButtonClick(View view) { // 实现按钮点击后的逻辑 } ``` 4. 运行应用程序并测试按钮是否正常工作。 注意:如果方法名或参数不正确,则会导致应用程序崩溃。 ### 回答2: 在Android Studio中为按钮添加onClick方法,可以通过以下步骤完成: 步骤一:打开Android Studio,打开布局文件的XML代码。 步骤二:定位到您要为其添加onClick方法的按钮标签。 步骤三:在按钮标签中添加 `android:onClick` 属性,属性值为您想要设置的方法名称。例如:`android:onClick="myOnClickMethod"`。 步骤四:接下来,需要在对应的Activity或Fragment中编写与方法名称相对应的函数。在该函数中编写您需要执行的操作。 步骤五:回到Java代码的Activity或Fragment文件,找到该方法并进行实现。 以下是一些示例代码来说明以上步骤: 布局文件中的按钮标签: ``` <Button android:id="@+id/my_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="点击我" android:onClick="myOnClickMethod" /> ``` Java代码的Activity或Fragment文件: ``` public class MainActivity extends AppCompatActivity { // ... public void myOnClickMethod(View view) { // 执行您想要的操作 Toast.makeText(this, "按钮被点击了", Toast.LENGTH_SHORT).show(); } } ``` 通过以上步骤,您就可以为按钮增加onClick方法了。当按钮被点击时,指定的方法将会被调用并执行您在该方法中编写的操作。记得在XML布局文件中为按钮添加onClick属性并在Java代码文件中实现相应的方法。 ### 回答3: 在Android Studio中,给按钮增加onClick方法有两种常见的方法方法一:使用XML布局文件 1. 打开你的XML布局文件,找到你想要增加onClick方法的按钮的标签。 2. 在按钮标签中添加一个属性:android:onClick="methodName",其中methodName是你想要自定义的方法名。 3. 在你的Activity类中,定义一个与上一步中指定的方法名相同的方法,如public void methodName(View view)。 4. 在方法内部编写你想要执行的代码逻辑。 方法二:使用匿名内部类 1. 打开你的Java或Kotlin文件,找到你想要增加onClick方法的按钮的对象。 2. 在按钮对象的声明或初始化语句后,使用setOnClickListenter()方法为按钮添加监听器。 3. 在setOnClickListenter()方法中,创建一个匿名内部类,实现OnClickListener接口。 4. 在匿名内部类的onClick(View view)方法中,编写你想要执行的代码逻辑。 无论采用哪种方法,你可以在onClick方法中进行按钮点击后的操作,例如跳转到另一个Activity、弹出提示信息、更新界面等。 需要注意的是,onClick方法中的参数View view是指当前点击的按钮对象,你可以通过调用它的相关方法来获取按钮信息和执行相应的操作。 以上是两种常见的方法,你可以根据个人偏好和实际应用场景选择适合的方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值