我正在尝试在 Facebook、Twitter 和 Linkedin 上发布消息,但我的日志猫出现异常,即“Java.lang.nullPointerException”和“消息未发布”。没有 Toast 也在执行,因为MessageListener类中有两个 Toast “ execute()方法”一个是“消息已发布”,另一个是“消息未发布”。我在我的代码中突出显示了这些 Toast,我已尽我所能,但即使我也生成了新密钥但它仍然无法正常工作同样的问题。请帮帮我!期待回复。。
这是我的代码 public View getView(int position, View convertView, ViewGroup Parent) {
View vi=convertView;
final ViewHolder holder=new ViewHolder();
if (vi==null) {
vi= inflater.inflate(R.layout.raw_items, null);
Log.e("adapter","adaper set");
final LinearLayout shareBar=(LinearLayout) vi.findViewById(R.id.LinearLayoutshareBar);
adapter = new SocialAuthAdapter(new ResponseListener());
adapter.addProvider(Provider.FACEBOOK, R.drawable.facebook_share);
adapter.addProvider(Provider.TWITTER, R.drawable.tweet_button);
adapter.addProvider(Provider.LINKEDIN, R.drawable.linkedin_share);
adapter.enable(shareBar);
}
}
响应监听类
class ResponseListener implements DialogListener
{
String msg;
@Override
public void onError(SocialAuthError e) {
// TODO Auto-generated method stub
Log.d("ShareBar", e.getMessage());
}
@Override
public void onCancel() {
// TODO Auto-generated method stub
Log.d("ShareBar", "Authentication Cancelled");
}
@Override
public void onBack() {
// TODO Auto-generated method stub
}
@Override
public void onComplete(Bundle values) {
// TODO Auto-generated method stub
final Dialog dialog = new Dialog(activity);
dialog.setTitle("Share Message");
dialog.setContentView(R.layout.dialog_view);
final EditText editText = (EditText)dialog.findViewById(R.id.shareText);
Button button = (Button)dialog.findViewById(R.id.updatebutton);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
msg=editText.getText().toString();
adapter.updateStatus(msg,new MessageListener(),true);
dialog.dismiss();
}
});
dialog.show();
}
}
消息监听类
private final class MessageListener implements SocialAuthListener<Integer> {
@Override
public void onExecute(String provider, Integer t) {
// TODO Auto-generated method stub
Integer status = t;
if (status.intValue() == 200 || status.intValue() == 201 ||status.intValue() == 204)
**Toast.makeText(activity, "Message posted",Toast.LENGTH_LONG).show();**
else
**Toast.makeText(activity, "Message not posted",Toast.LENGTH_LONG).show();**
Log.e("Execute", "I am onExecute");
}
@Override
public void onError(SocialAuthError e) {
// TODO Auto-generated method stub
Toast.makeText(activity,"i m error",1000).show();
}
}