您的位置:首页 > 其它

(droid分享)新浪微博开发系列【十三】之微博的评论转发

2012-09-26 20:52 190 查看
此部分为进行微博的评论,由于转发也在此activity中进行,所以就直贴出评论的微博界面,同时此部分也是微博开发所有的activity开发的终结篇,后面我会贴上所有的工具类。好了,贴代码,在此说明一下,可能代码里调用一些方法在本篇中没有,但是全部在我的代码里,也不要索取图片,要看全部代码的请移步/article/8913211.html

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:background="#00ffffff"

android:orientation="vertical" >

<RelativeLayout

android:id="@+id/repostandcommentTitle"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:background="#BB768e95" >

<!-- android:background="@drawable/bg_title" -->

<ImageButton

android:id="@+id/repostbtnClose"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentLeft="true"

android:background="@drawable/title_back"

android:contentDescription="@string/contnetdescription" />

<Button

android:id="@+id/repostandcommentbtnSend"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentRight="true"

android:layout_marginRight="6dp"

android:layout_marginTop="8dp"

android:background="@drawable/bg_btn"

android:paddingBottom="2dp"

android:text="@string/repostandcommentActivity_send"

android:textColor="#fff"

android:textSize="12sp" />

<TextView

android:id="@+id/repostandcommenttype"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignBottom="@+id/repostandcommentbtnSend"

android:layout_centerHorizontal="true"

android:gravity="center"

android:textColor="#000"

android:textSize="20sp"

android:textStyle="bold" />

</RelativeLayout>

<RelativeLayout

android:layout_width="fill_parent"

android:layout_height="0dp"

android:layout_weight="1"

android:background="@drawable/bg_activitycontent" >

<LinearLayout

android:id="@+id/repostandcommentllImage"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:layout_alignParentBottom="true"

android:background="#00ffffff"

android:orientation="vertical" >

<RelativeLayout

android:id="@+id/repostandcommentTotal"

android:layout_width="fill_parent"

android:layout_height="50dp" >

<LinearLayout

android:id="@+id/repostandcommentll_text_limit_unit"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_alignParentBottom="false"

android:layout_alignParentRight="true"

android:layout_centerVertical="true"

android:background="@drawable/bg_delwords"

android:clickable="true"

android:focusable="true"

android:gravity="center" >

<TextView

android:id="@+id/repostandcommenttv_text_limit"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginRight="5dp"

android:text="@string/repostandcommentActivity_contnetmaxcount"

android:textColor="#333" />

<ImageView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:contentDescription="@string/contnetdescription"

android:src="@drawable/icon_delwords" />

</LinearLayout>

</RelativeLayout>

<RelativeLayout

android:id="@+id/repostandcommenttoolbarlayout"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:background="@null"

android:orientation="horizontal" >

<LinearLayout

android:id="@+id/repostandcommentinsertpiclayout"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="vertical" >

</LinearLayout>

<LinearLayout

android:id="@+id/repostandcommentinsertatlayout"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_centerInParent="true"

android:orientation="vertical" >

</LinearLayout>

<LinearLayout

android:id="@+id/repostandcommentinsertfacelayout"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:orientation="vertical" >

</LinearLayout>

</RelativeLayout>

</LinearLayout>

<LinearLayout

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:layout_above="@+id/repostandcommentllImage"

android:layout_alignParentTop="true"

android:layout_margin="3dp"

android:background="#00ffffff"

android:orientation="vertical" >

<EditText

android:id="@+id/repostandcommentetEdit"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:layout_margin="3dp"

android:background="@null"

android:gravity="top|left"

android:imeOptions="actionDone"

android:inputType="textMultiLine"

android:isScrollContainer="true"

android:maxLength="140"

android:singleLine="false" />

</LinearLayout>

</RelativeLayout>

</LinearLayout>



package com.czu.sinaweibo;

import java.io.IOException;

import java.net.MalformedURLException;

import com.czu.constdata.ConstDataSinaAPI;

import com.czu.weiboHandler.WeiBoInfoSender;

import com.weibo.android.R;

import com.weibo.net.AsyncWeiboRunner.RequestListener;

import com.weibo.net.Weibo;

import com.weibo.net.WeiboException;

import android.app.Activity;

import android.app.AlertDialog;

import android.app.Dialog;

import android.content.DialogInterface;

import android.os.Bundle;

import android.text.Editable;

import android.text.TextWatcher;

import android.view.View;

import android.view.View.OnClickListener;

import android.view.Window;

import android.widget.Button;

import android.widget.EditText;

import android.widget.ImageButton;

import android.widget.LinearLayout;

import android.widget.TextView;

import android.widget.Toast;

public class RepostAndCommentActivity extends Activity implements

RequestListener {

/* 标题内容 */

private TextView activityTitle = null;

/* 返回按钮 */

private ImageButton btnClose = null;

/* 发送按钮 */

private Button btnSend = null;

/* 微博内容 */

private EditText contentEditText = null;

/* 当前字数 */

private TextView textLimitTextView = null;

/* 要转发的微博ID */

private String weiBoId = null;

/* 要转发的微博内容 */

String repostorcomment = null;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

this.requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.repostandcomment_activity);

activityTitle = (TextView) this.findViewById(R.id.repostandcommenttype);

/* 微博转发 */

if (getIntent().getFlags() == 0) {

weiBoId = getIntent().getExtras().getString("repostID");

activityTitle.setText("转发微博");

} else {

weiBoId = getIntent().getExtras().getString("commentID");

activityTitle.setText("评论微博");

}

/* 得到字数限制对象 */

textLimitTextView = (TextView) this

.findViewById(R.id.repostandcommenttv_text_limit);

contentEditText = (EditText) this.findViewById(R.id.repostandcommentetEdit);

contentEditText.addTextChangedListener(new TextWatcher() {

@Override

public void onTextChanged(CharSequence s, int start, int before,

int count) {

int currentlength = ConstDataSinaAPI.WEIBO_MAX_LENGTH

- contentEditText.getText().toString().length();

textLimitTextView.setText(String.valueOf(currentlength));

}

@Override

public void beforeTextChanged(CharSequence s, int start, int count,

int after) {

// TODO Auto-generated method stub

}

@Override

public void afterTextChanged(Editable s) {

// TODO Auto-generated method stub

}

});

/* 获取btnClose对象 */

btnClose = (ImageButton) this.findViewById(R.id.repostbtnClose);

/* 对btnClose按钮进行监听,关闭当前Activity */

btnClose.setOnClickListener(new ImageButton.OnClickListener() {

@Override

public void onClick(View v) {

if (contentEditText.getText().toString().isEmpty()) {

finish();

} else {

Dialog dialog = new AlertDialog.Builder(

RepostAndCommentActivity.this)

.setTitle(

R.string.repostandcommentActivity_attention)

.setMessage(

R.string.repostandcommentActivity_exitattention)

.setPositiveButton(

R.string.repostandcommentActivity_ok,

new DialogInterface.OnClickListener() {

public void onClick(

DialogInterface dialog,

int which) {

finish();

}

})

.setNegativeButton(

R.string.repostandcommentActivity_cancel,

null).create();

dialog.show();

}

}

});

btnSend = (Button) this.findViewById(R.id.repostandcommentbtnSend);

btnSend.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

{

Weibo weibo = Weibo.getInstance();

WeiBoInfoSender weiBoInfoSender = new WeiBoInfoSender(

RepostAndCommentActivity.this);

try {

String title=activityTitle.getText().toString();

/*没有输入内容*/

if (contentEditText.getText().toString().isEmpty()) {

/*默认为空*/

if(title.equals("转发微博")){

repostorcomment="转发微博";

weiBoInfoSender.repost(weibo, Weibo.getAppKey(),repostorcomment, weiBoId, "", "");

}

else if (title.equals("评论微博")) {

Toast.makeText(RepostAndCommentActivity.this,R.string.repostandcommentActivity_sendattention , Toast.LENGTH_SHORT).show();

}

}//输入了内容

else {

repostorcomment=contentEditText.getText().toString();

if(title.equals("转发微博")){

weiBoInfoSender.repost(weibo, Weibo.getAppKey(),repostorcomment, weiBoId, "", "");

}

else if (title.equals("评论微博")){

weiBoInfoSender.create(weibo,Weibo.getAppKey(),repostorcomment, weiBoId, "","");

}

}

} catch (MalformedURLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (WeiboException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

});

LinearLayout linearLayout = (LinearLayout) this

.findViewById(R.id.repostandcommentll_text_limit_unit);

linearLayout.setOnClickListener(new OnClickListener() {

@Override

public void onClick(View v) {

if (!contentEditText.getText().toString().isEmpty()) {

Dialog dialog = new AlertDialog.Builder(

RepostAndCommentActivity.this)

.setTitle(

R.string.repostandcommentActivity_attention)

.setMessage(

R.string.repostandcommentActivity_delall)

.setPositiveButton(

R.string.repostandcommentActivity_ok,

new DialogInterface.OnClickListener() {

public void onClick(

DialogInterface dialog,

int which) {

contentEditText.setText("");

}

})

.setNegativeButton(

R.string.repostandcommentActivity_cancel,

null).create();

dialog.show();

}

}

});

}

@Override

public void onComplete(String response) {

runOnUiThread(new Runnable() {

@Override

public void run() {

Toast.makeText(RepostAndCommentActivity.this,

R.string.repostandcommentActivity_send_sucess,

Toast.LENGTH_LONG).show();

}

});

this.finish();

}

@Override

public void onIOException(IOException e) {

// TODO Auto-generated method stub

}

@Override

public void onError(final WeiboException e) {

runOnUiThread(new Runnable() {

@Override

public void run() {

Toast.makeText(

RepostAndCommentActivity.this,

String.format(

RepostAndCommentActivity.this

.getString(R.string.repostandcommentActivity_send_failed)

+ ":%s", e.getMessage()),

Toast.LENGTH_LONG).show();

}

});

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: