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空指针错误