片段启动时OnClickListeners不会触发

时间:2013-04-18 23:04:09

标签: java android facebook-android-sdk android-annotations

我已经用尽所有努力来解决这个问题。我正在用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));
        }
    });

起初我认为这个问题在我正在使用的android注释中撒谎但是在删除时会出现同样的问题。

我的按钮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" />

1 个答案:

答案 0 :(得分:2)

你的按钮是哪个组件?根据你的解释,我认为他们在片段中。那么,你有这个类的@EFragment注释吗?

此外,您应该在AndroidAnnotation way中启动片段以启用此组件的库,然后在按钮上注册侦听器。