我已经竭尽全力试图找出这个问题。我正在使用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));
}
});
起初,我认为该问题在于我使用的androidannotation中,但是删除该问题后,它本身也出现了问题。
我的按钮的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" />
最佳答案
您的按钮位于哪个组件中?根据您的解释,我认为它们是片段。那么,您在此类上有@EFragment
批注吗?
此外,您应该在AndroidAnnotation way中启动片段以启用该组件的库,并在按钮上注册侦听器。