package com.weikou.beibeivideo.ui.mine;
|
|
import android.content.ContentValues;
|
import android.database.Cursor;
|
import android.os.Build;
|
import android.os.Bundle;
|
import android.support.v4.app.LoaderManager;
|
import android.support.v4.content.CursorLoader;
|
import android.support.v4.content.Loader;
|
import android.view.View;
|
import android.view.View.OnClickListener;
|
import android.view.ViewGroup;
|
import android.widget.AdapterView;
|
import android.widget.AdapterView.OnItemClickListener;
|
import android.widget.LinearLayout;
|
import android.widget.LinearLayout.LayoutParams;
|
import android.widget.ListView;
|
import android.widget.TextView;
|
|
import com.lcjian.library.util.common.DateUtils;
|
import com.umeng.analytics.MobclickAgent;
|
import com.weikou.beibeivideo.R;
|
import com.weikou.beibeivideo.db.MessageTable;
|
import com.weikou.beibeivideo.ui.BaseActivity;
|
|
import java.util.Date;
|
|
public class SystemMessageActivity extends BaseActivity implements
|
LoaderManager.LoaderCallbacks<Cursor>, OnClickListener {
|
|
private TextView tv_top_bar_left;
|
private TextView tv_top_bar_middle;
|
|
private ListView lv_message_list;
|
|
private View v_message_detail;
|
|
private LinearLayout ll_empty;
|
|
private MessageAdapter mSysAdapter;
|
|
|
@Override
|
protected void onCreate(Bundle arg0) {
|
super.onCreate(arg0);
|
setContentView(R.layout.system_message_activity);
|
|
initStatusBar();
|
tv_top_bar_left = findViewById(R.id.tv_top_bar_left);
|
tv_top_bar_middle = findViewById(R.id.tv_top_bar_middle);
|
tv_top_bar_left.setOnClickListener(this);
|
tv_top_bar_middle.setText(R.string.mine_message);
|
|
lv_message_list = findViewById(R.id.lv_message_list);
|
|
v_message_detail = findViewById(R.id.v_message_detail);
|
ll_empty = findViewById(R.id.ll_empty);
|
|
mSysAdapter = new MessageAdapter(getApplicationContext(), null, true);//
|
getSupportLoaderManager().initLoader(0, null, this);
|
getSystemMsg();
|
}
|
|
@Override
|
public Loader<Cursor> onCreateLoader(int arg0, Bundle arg1) {
|
return new CursorLoader(this, MessageTable.CONTENT_URI, null, null,
|
null, MessageTable.UPDATE_TIME + " DESC");
|
}
|
|
@Override
|
public void onLoadFinished(Loader<Cursor> arg0, Cursor data) {
|
// Swap the new cursor in. (The framework will take care of closing the
|
// old cursor once we return.)
|
mSysAdapter.swapCursor(data);
|
if (data == null || data.getCount() == 0) {
|
ll_empty.setVisibility(View.VISIBLE);
|
lv_message_list.setVisibility(View.GONE);
|
} else {
|
ll_empty.setVisibility(View.GONE);
|
lv_message_list.setVisibility(View.VISIBLE);
|
}
|
}
|
|
@Override
|
public void onLoaderReset(Loader<Cursor> arg0) {
|
// This is called when the last Cursor provided to onLoadFinished()
|
// above is about to be closed. We need to make sure we are no
|
// longer using it.
|
mSysAdapter.swapCursor(null);
|
ll_empty.setVisibility(View.VISIBLE);
|
}
|
|
@Override
|
public void onBackPressed() {
|
if (v_message_detail.getVisibility() == View.VISIBLE) {
|
lv_message_list.setVisibility(View.VISIBLE);
|
v_message_detail.setVisibility(View.GONE);
|
((ViewGroup) v_message_detail.getParent())
|
.setBackgroundResource(android.R.color.transparent);
|
tv_top_bar_middle.setText(R.string.mine_message);
|
} else {
|
super.onBackPressed();
|
}
|
}
|
|
@Override
|
public void onClick(View v) {
|
switch (v.getId()) {
|
case R.id.tv_top_bar_left: {
|
onBackPressed();
|
}
|
break;
|
default:
|
break;
|
}
|
}
|
|
|
/**
|
* 获取系统消息
|
*/
|
private void getSystemMsg() {
|
lv_message_list.setAdapter(mSysAdapter);
|
lv_message_list.setOnItemClickListener(new OnItemClickListener() {
|
|
@Override
|
public void onItemClick(AdapterView<?> parent, View view,
|
int position, long id) {
|
|
ContentValues values = new ContentValues();
|
values.put(MessageTable.MESSAGE_STATUS, 1);
|
getContentResolver().update(MessageTable.CONTENT_URI, values,
|
MessageTable._ID + " = ? ",
|
new String[]{String.valueOf(id)});
|
|
Cursor cursor = (Cursor) parent.getItemAtPosition(position);
|
((TextView) v_message_detail.findViewById(R.id.tv_date)).setText(DateUtils
|
.convertDateToStr(new Date(cursor.getLong(cursor
|
.getColumnIndex(MessageTable.CREATE_TIME)))));
|
((TextView)v_message_detail.findViewById(R.id.tv_time)).setText(DateUtils.convertDateToStr(
|
new Date(cursor.getLong(cursor
|
.getColumnIndex(MessageTable.CREATE_TIME))),
|
"HH:mm"));
|
((TextView)v_message_detail.findViewById(R.id.tv_text))
|
.setSingleLine(false);
|
((TextView)v_message_detail.findViewById(R.id.tv_text))
|
.setText(cursor.getString(cursor
|
.getColumnIndex(MessageTable.MESSAGE_CONTENT)));
|
lv_message_list.setVisibility(View.GONE);
|
v_message_detail.setVisibility(View.VISIBLE);
|
((ViewGroup) v_message_detail.getParent())
|
.setBackgroundResource(
|
android.R.color.white);
|
tv_top_bar_middle.setText(cursor.getString(cursor
|
.getColumnIndex(MessageTable.MESSAGE_TITLE)));
|
cursor.close();
|
|
}
|
});
|
}
|
|
@Override
|
public void onResume() {
|
super.onResume();
|
}
|
|
@Override
|
public void onPause() {
|
super.onPause();
|
}
|
|
@Override
|
protected void onDestroy() {
|
super.onDestroy();
|
}
|
|
}
|