Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/183.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在twitter按钮中添加click listener?_Android_Android Studio_Twitter_Dependencies - Fatal编程技术网

Android 如何在twitter按钮中添加click listener?

Android 如何在twitter按钮中添加click listener?,android,android-studio,twitter,dependencies,Android,Android Studio,Twitter,Dependencies,我在构建中添加了一个依赖项。gradle下面是我的gradle文件 compile 'com.twitter.sdk.android:twitter:3.1.1' // (Optional) Monetize using mopub compile 'com.twitter.sdk.android:twitter-mopub:3.1.1' // (Optional) Monetize using mopub 2.这是我的主要活动代码,我已经在onCreate中初始化了twitter。我已经添加

我在
构建中添加了一个依赖项。gradle
下面是我的gradle文件

compile 'com.twitter.sdk.android:twitter:3.1.1'
// (Optional) Monetize using mopub
compile 'com.twitter.sdk.android:twitter-mopub:3.1.1'
// (Optional) Monetize using mopub
2.这是我的主要活动代码,我已经在
onCreate
中初始化了twitter。我已经添加了设置回拨单击侦听器,我不知道应该添加什么来请求登录

公共类MainActivity扩展了AppCompatActivity{

TwitterLoginButton loginButton;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);


    Twitter.initialize(this);

    TwitterConfig config = new TwitterConfig.Builder(this)
            .logger(new DefaultLogger(Log.DEBUG))
            .twitterAuthConfig(new TwitterAuthConfig("CONSUMER_KEY", "CONSUMER_SECRET"))
            .debug(true)
            .build();


    Twitter.initialize(config);

    //calling function login
    login();
}


public void login(){

    loginButton = (TwitterLoginButton) findViewById(R.id.login_button);


    loginButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(MainActivity.this,"Eror",Toast.LENGTH_LONG).show();
        }
    });

    loginButton.setCallback(new Callback<TwitterSession>() {
        @Override
        public void success(Result<TwitterSession> result) {

            Toast.makeText(MainActivity.this,"Error",Toast.LENGTH_LONG).show();
            // Do something with result, which provides a TwitterSession for making API calls
        }

        @Override
        public void failure(TwitterException exception) {
            // Do something on failure
        }
    });




}

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    // Pass the activity result to the login button.
    loginButton.onActivityResult(requestCode, resultCode, data);
}
TwitterLoginButton登录按钮;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
初始化(this);
TwitterConfig=新建TwitterConfig.Builder(此)
.logger(新的DefaultLogger(Log.DEBUG))
.twitterAuthConfig(新twitterAuthConfig(“消费者密钥”、“消费者密钥”))
.debug(true)
.build();
初始化(config);
//调用函数登录
登录();
}
公共无效登录(){
loginButton=(TwitterLoginButton)findViewById(R.id.login_按钮);
loginButton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
Toast.makeText(MainActivity.this,“Eror”,Toast.LENGTH_LONG.show();
}
});
setCallback(newcallback()){
@凌驾
公开作废成功(结果){
Toast.makeText(MainActivity.this,“Error”,Toast.LENGTH_LONG.show();
//对result执行一些操作,它提供了一个用于进行API调用的TwitterSession
}
@凌驾
公共无效失败(TwitterException异常){
//失败时做点什么
}
});
}
受保护的void onActivityResult(int请求代码、int结果代码、意图数据){
super.onActivityResult(请求代码、结果代码、数据);
//将活动结果传递给登录按钮。
onActivityResult(请求代码、结果代码、数据);
}

}

您的代码是正确的,但我认为最好在OnCreate()上初始化按钮,因为在某些情况下,您会遇到java空指针错误