public
class
DiaryActivity
extends
SherlockActivity
implements
OnScrollListener{
private
static
int
AddDiary =
1
;
private
ListView Lv_diary;
private
int
listcount =
3
;
private
DiaryListViewAdapter adapter;
private
JSONArray test =
new
JSONArray();
private
Handler handler =
new
Handler(){
@Override
public
void
handleMessage(Message msg) {
super
.handleMessage(msg);
if
(msg.obj.toString().equals(
"boardnull"
)){
Toast.makeText(DiaryActivity.
this
,
"등록된 다이어리가 없습니다."
, Toast.LENGTH_SHORT).show();
}
else
if
(msg.obj.toString().equals(
"boardfail"
)){
Toast.makeText(DiaryActivity.
this
,
"데이터베이스 접근실패."
, Toast.LENGTH_SHORT).show();
}
else
{
try
{
JSONArray jsonarr;
jsonarr =
new
JSONArray(msg.obj.toString());
test = jsonarr;
setDiaryListView(jsonarr);
}
catch
(JSONException e) {
e.printStackTrace();
}
}
}
};
/** Called when the activity is first created. */
@Override
public
void
onCreate(Bundle savedInstanceState) {
super
.onCreate(savedInstanceState);
ActionBar actionbar = getSupportActionBar();
actionbar.setNavigationMode(ActionBar.NAVIGATION_MODE_LIST);
setContentView(R.layout.activity_diary);
try
{
JSONObject ob =
new
JSONObject();
ob.put(
"type"
,
"Diary"
);
}
catch
(JSONException e) {
Log.d(
"ErrorLog"
,
"PatProfileActivity : onStart : "
+ e.toString());
}
}
@Override
public
boolean
onCreateOptionsMenu(Menu menu) {
super
.onCreateOptionsMenu(menu);
menu.add(
0
, AddDiary,
0
,
"adddiary"
).setIcon(R.drawable.ic_launcher).setShowAsAction(MenuItem.SHOW_AS_ACTION_IF_ROOM);
return
true
;
}
@Override
public
boolean
onOptionsItemSelected(MenuItem item) {
if
(AddDiary == item.getItemId()){
Intent intent =
new
Intent(
this
, DiaryAddActivity.
class
);
startActivity(intent);
}
return
true
;
}
private
void
setDiaryListView(JSONArray jsonarr) {
Lv_diary = (ListView)findViewById(R.id.Lv_diary);
adapter =
new
DiaryListViewAdapter(
this
, jsonarr, listcount);
Lv_diary.setAdapter(adapter);
Lv_diary.setOnScrollListener(
this
);
}
@Override
public
void
onScroll(AbsListView view,
int
firstVisibleItem,
int
visibleItemCount,
int
totalItemCount) {
int
count = totalItemCount - visibleItemCount;
if
(firstVisibleItem >= count && totalItemCount !=
0
){
Log.d(
"--"
,
"in!!!!!!!!!!!!!!!!!!"
);
listcount = listcount +
3
;
adapter =
new
DiaryListViewAdapter(
this
, test, listcount);
adapter.notifyDataSetChanged();
}
}
@Override
public
void
onScrollStateChanged(AbsListView view,
int
scrollState) {
}
}