我在 MainActivity.java 中添加了这个
btn = (Button)findViewById(R.id.aboutTheDeveloper);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void openAboutTheDeveloper(View v) {
startActivity(new Intent(MainActivity.this, aboutTheDeveloper.class));
}
}
Run Code Online (Sandbox Code Playgroud)
我还编辑了我的清单:
<activity
android:name=".aboutTheDeveloper"
android:label="@string/title_activity_about_the_developer" >
</activity>
Run Code Online (Sandbox Code Playgroud)
设想:
我在 MainActivity.xml 中有这个按钮,id = @id/openAboutTheDeveloper
这应该打开 AboutTheDeveloper 活动。
在按钮内我还放置了 android:onclick="openAboutTheDeveloper"
哪个应该在 MainActivity.java 中调用函数 openAboutTheDeveloper
它似乎不起作用。T_T
对不起,如果我太明确了。我对 Android 很陌生,我对 Java 并不是真正的朋友。
你不能有
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void openAboutTheDeveloper(View v) {
startActivity(new Intent(MainActivity.this, aboutTheDeveloper.class));
}
}
Run Code Online (Sandbox Code Playgroud)
该View.OnClickListener接口有没有public void openAboutTheDeveloper(View v)方法,但是public void onClick(View v)。你可以改变你的 onClickListener 像
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
startActivity(new Intent(MainActivity.this, aboutTheDeveloper.class));
}
}
Run Code Online (Sandbox Code Playgroud)
android:onclick从您的 xml 中删除该属性,或者您删除该代码,并在其中添加一个方法MainActivity
public void openAboutTheDeveloper(View v) {
startActivity(new Intent(MainActivity.this, aboutTheDeveloper.class));
}
Run Code Online (Sandbox Code Playgroud)
该属性android:onclick允许您声明将在运行时调用的处理程序。该方法将通过反射解决,如果找不到,Android 将抛出异常