gpt4 book ai didi

android - onclick 方法在 android 按钮中不起作用

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:27:23 25 4
gpt4 key购买 nike

我正在研究 Android 中的 Onclick 事件和监听器。在途中,我创建了一个示例应用程序,我的目标是将给定的数字 (register.java) 保存在数据库中并在另一个 Activity (main.java) 中显示它。但是,现在单击“保存”按钮后,什么也没有发生。即使是 toast 法也行不通。

这是我的代码:

 protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

data = register.this.openOrCreateDatabase("Number", MODE_PRIVATE, null);
data.execSQL("CREATE TABLE IF NOT EXISTS table1(number varchar(15));");

e1 = (EditText)findViewById(R.id.mob_num);
b1 = (Button)findViewById(R.id.save);
b2 = (Button)findViewById(R.id.go);

b1.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
number = e1.getText().toString();
data.execSQL("INSERT INTO table1 VALUES('"+number+"')");
Toast.makeText(getApplicationContext(), "'"+number+"'successfully inserted",Toast.LENGTH_SHORT).show();
Intent i = new Intent(register.this, main.class);
startActivity(i);
finish();

}
});

b2.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Intent i =new Intent(register.this,main.class);
startActivity(i);
data.close();
finish();
}
});

}

这是我的 manifest.xml:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="a.a.a"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="8" />

<uses-permission android:name="android.permission.CALL_PHONE"/>
<uses-permission android:name="android.permission.READ_PHONE_STATE"/>


<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >

<activity android:name=".main"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />

</intent-filter>

<intent-filter>
<action android:name="android.intent.action.PHONE_STATE"/>
</intent-filter>


</activity>
</application>

</manifest>

我知道这是 android 中非常基本的事情。但是,我希望你能在这方面帮助我。抱歉,感谢您抽出宝贵时间。

最佳答案

有一种在 Android 中注册 onClickListeners 的简单方法:在您的按钮声明中添加android:onClick="onClick" 并在包含名为 onClick(View v) 的按钮的 Activity 中创建一个方法。从这里你可以

switch(v) {
case R.id.save:
Toast.makeText(this, "save button has been pressed", Toast.LENGTH_LONG).show();
break;
case R.id.go:
Toast.makeText(this, "go button has been pressed", Toast.LENGTH_LONG).show();
break;
}

依此类推,直到您在 Activity 中注册了所有按钮。当然,您可以使用除我在此示例中所做的变量名称之外的其他变量名称,只需记住必须使用 View 作为参数调用 onClick 方法(或任何您命名的方法),并且开关必须在该参数上运行。

关于android - onclick 方法在 android 按钮中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15087973/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com