我已经竭尽全力试图解决这个问题。我正在构建一个带有 Facebook 登录的应用程序。我正在使用 Android Facebook SDK 3.0,该过程运行完美。问题出在屏幕上的其他按钮上。当我在 OnCreate 中包含此代码时,它们不会触发
if(savedInstanceState == null) {
// Add the fragment on initial activity setup
mainFragment = new FacebookFragment();
getSupportFragmentManager()
.beginTransaction()
.add(android.R.id.content, mainFragment)
.commit();
} else {
// Or set the fragment from restored state info
mainFragment = (FacebookFragment) getSupportFragmentManager()
.findFragmentById(android.R.id.content);
}
使用我使用的 androidannotations
@ViewById Button login_butt,reg_butt;
@Click
void login_butt(){
login();
}
@Click
void reg_butt(){
startActivity(new Intent(LoginActivity.this,RegisterActivity_.class));
}
这在幕后与我在下面发布的代码相同。两种方法都试过了,都失败了
我的听众是
login_butt.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
login();
}
});
reg_butt.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
startActivity(new Intent(LoginActivity.this,RegisterActivity_.class));
}
});
起初我认为问题出在我正在使用的 androidannotations 中,但是当删除时,同样的问题又出现了。
我的按钮 XML 是
<com.facebook.widget.LoginButton
android:id="@+id/authButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true" />
<Button
android:id="@+id/reg_butt"
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_below="@+id/password_enter"
android:background="@drawable/register_select" />
<Button
android:id="@+id/login_butt"
style="?android:attr/buttonStyleSmall"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/reg_butt"
android:layout_alignBottom="@+id/reg_butt"
android:layout_alignParentLeft="true"
android:background="@drawable/login_select" />
最佳答案
您的按钮位于哪个组件中?根据你的解释,我认为它们在 fragment 中。那么,这个类上有 @EFragment
注释吗?
此外,您应该在 AndroidAnnotation way 中开始 fragment 启用此组件的库,然后在按钮上注册监听器。
关于java - Fragment 启动时 OnClickListeners 不会触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16094544/