我希望我的班级saveTeam()
中的方法FormTeamsActivity.java
仅对其容器和相应的布局文件formteam.xml.
FormTeamsActivity.java:
public class FormTeamActivity extends Activity {
public void onCreate(Bundle savedInstanceState) {
//...
}
public void saveTeam() { //I only want this visible to formTeam.xml
/*
Capture user defined parameters and store them in DB
*/
finish(); //Conclude activity
}
}
我无法将其设为私有,因为我无法调用formTeam.xml:
<Button
...
android:id="@+id/button_formTeam"
...
android:onClick="saveTeam"/><!-- I would like to call the method here -->
我发现的唯一工作是在类中编写自己的actionListener,但我希望能够解决这个问题,以避免在我写的Activity中有大量的监听器。
答案 0 :(得分:3)
如果您想使用android:onClick
,则必须公开。来自Android docs:
此名称必须对应于只接受View类型的一个参数的公共方法。例如,如果指定android:onClick =“sayHello”,则必须声明上下文的公共void sayHello(View v)方法(通常是您的Activity)。