java - Fragment 启动时 OnClickListeners 不会触发

标签 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));
        }
    });

起初我认为问题出在我正在使用的 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/

相关文章:

java - Gradle + bintray : Specifying Dependencies of dependencies correctly

javascript - android genymotion 的react-native 中的错误意味着什么?

android - Twitter 日志记录和不重定向到应用程序以及如何使用回调 URL

android - 未找到客户端 token ,请设置客户端 token

Android & Facebook SDK : decoding pictures from/me/picture graph call

java - 如何从 Java Web 应用程序发送电子邮件

Java:找不到适合 Scanner(int) 的构造函数

android - React-Native:gradlew 构建产生:react-native-fbsdk:lint 错误 "libraries must use the exact same version"

java - 仅在本地计算机 JVM 上设置区域设置

java - Android 触摸边界矩形和纹理位置