Java 在Android应用程序(Android Studio)上更改为其他活动的两个按钮
我正在学习如何使用Android Studio创建应用程序,我不能用2个按钮切换到其他活动。例如,我有一个按钮contact,它允许我进入contact\u list类,还有一个按钮msg,它允许我进入message\u enregistre类 问题:联系人按钮工作,但消息按钮不工作。当我按下msg按钮时,应用程序返回到主活动。我认为我的AndroidManifest.xml很好 但我不知道为什么味精按钮不起作用。你能帮我吗 parametres.java文件Java 在Android应用程序(Android Studio)上更改为其他活动的两个按钮,java,android,xml,Java,Android,Xml,我正在学习如何使用Android Studio创建应用程序,我不能用2个按钮切换到其他活动。例如,我有一个按钮contact,它允许我进入contact\u list类,还有一个按钮msg,它允许我进入message\u enregistre类 问题:联系人按钮工作,但消息按钮不工作。当我按下msg按钮时,应用程序返回到主活动。我认为我的AndroidManifest.xml很好 但我不知道为什么味精按钮不起作用。你能帮我吗 parametres.java文件 import android.ap
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
public class parametres extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.parametres);
final Button contact =(Button)findViewById(R.id.button3);
contact.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent act1 = new Intent(view.getContext(), contact_list.class);
startActivity(act1);
}
});
final Button msg =(Button)findViewById(R.id.button4);
msg.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View view2)
{
Intent act2 = new Intent(view2.getContext(), message_enregistre.class);
startActivity(act2);
}
});
}
}
以及AndroidManifest文件
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.baptiste.saveme">
<uses-permission android:name="android.permission.READ_CONTACTS" />
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity
android:name=".MainActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".parametres"
android:label="@string/app_name">
</activity>
<activity
android:name=".contact_list"
android:label="@string/app_name">
</activity>
<activity
android:name=".message_enregistre"
android:label="@string/app_name">
</activity>
</application>
非常感谢您正在设置多个OnClickListeners(),这可能是问题的根源。我建议您将代码更改为
public class parametres extends Activity implements OnClickListener{
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.parametres);
final Button contact =(Button)findViewById(R.id.button3);
contact.setOnClickListener(this);
final Button msg =(Button)findViewById(R.id.button4);
msg.setOnClickListener(this);
}
@Override
public void onClick(view v) {
Intent i;
switch(v.getId()){
case R.id.button3:
i = new Intent(parametres.this, contact_list.class);
startActivity(i);
break;
case R.id.button4:
i = new Intent(parametres.this, message_enregistre.class);
startActivity(i);
break;
}
}
}
请发布您的消息\u enregistre classcheck
setContentView(R.layout.*)代码>在你的消息\u eRegistre
类中,我想你已经给出了设置内容视图(R.layout.activity\u main)
insidemessage\u enregistre
类。我的这部分代码很好,谢谢:)我不确定这是问题所在,为View创建任何新实例是否合法。OnClickListener(如您所需)不正确,但它可以正常工作。好的,我今天检查一下。谢谢您的回答。函数setOnClickListener不接受参数“this”。你有解决办法吗?谢谢。好的,我找到了解决办法:)谢谢你的帮助:)