package com.smit.rssreader;
import com.smit.EasyLauncher.R;
import android.app.Activity;
import android.database.Cursor;
import android.os.Bundle;
import android.view.ContextMenu;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.View.OnCreateContextMenuListener;
import android.view.ViewGroup.LayoutParams;
import android.webkit.WebView;
import android.widget.AdapterView;
import android.widget.BaseAdapter;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;
public class ShowItemFavoriteActivity extends Activity {
private HistoryOpenHelper historyOpenhelper = new HistoryOpenHelper(this);
private final int DELETE = Menu.FIRST;
private FavoBaseAdapter adapter;
private ListView listview;
private FavoListener favoListener =new FavoListener();
private String httpAddress[];
private String titles[];
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.rss_show_item_favorite);
//setTitle("�ղؼ�");
listview = (ListView) findViewById(R.id.favoritelist);
initiaAdapter(); //ΪAdapter���ó�ʼ����
adapter = new FavoBaseAdapter();
listview.setAdapter(adapter);
listview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// TODO Auto-generated method stub
LinearLayout ll = (LinearLayout) view;
TextView text = (TextView) ll.getChildAt(1);
String link = text.getText().toString();
WebView web = (WebView) findViewById(R.id.webshow);
web.getSettings().setJavaScriptEnabled(true);
web.loadUrl(link);
}
});
listview
.setOnCreateContextMenuListener(new OnCreateContextMenuListener() {
@Override
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
// TODO Auto-generated method stub
menu.add(0, DELETE, Menu.NONE, "ɾ��");
}
});
}
@Override
public boolean onContextItemSelected(MenuItem item) {
// TODO Auto-generated method stub
switch (item.getItemId()) {
case DELETE:
AdapterView.AdapterContextMenuInfo menuInfo;
menuInfo = (AdapterView.AdapterContextMenuInfo) item.getMenuInfo();
int position = menuInfo.position;
LinearLayout ll = (LinearLayout) listview.getChildAt(position);
TextView text = (TextView) ll.getChildAt(1);
String link = text.getText().toString();
historyOpenhelper.deleteFavorite(link);
favoListener.onOkClick();
break;
}
return super.onContextItemSelected(item);
}
//ΪAdapter��������Դ
private void initiaAdapter(){
int i = 0;
Cursor cursor = historyOpenhelper.queryFavorite(RssReaderConstant.INFAVORITE);
if (cursor.moveToFirst()) {
titles = new String[cursor.getCount()];
httpAddress = new String[cursor.getCount()];
int titleIndex = cursor.getColumnIndex(HistoryOpenHelper.TITLE);
int httpIndex = cursor.getColumnIndex(HistoryOpenHelper.HTTPADDRESS);
while (!cursor.isAfterLast()) {
titles[i] = cursor.getString(titleIndex);
httpAddress[i] = cursor.getString(httpIndex);
cursor.moveToNext();
i++;
}
cursor.close();
}
}
private class FavoListener implements CustomerDialogListener{
@Override
public void onCancelClick() {
// TODO Auto-generated method stub
}
@Override
public void onOkClick() {
// TODO Auto-generated method stub
initiaAdapter();
adapter.notifyDataSetChanged();
}
}
private class FavoBaseAdapter extends BaseAdapter {
@Override
public int getCount() {
// TODO Auto-generated method stub
if (titles != null) {
return titles.length;
} else {
return 0;
}
}
@Override
public Object getItem(int position) {
// TODO Auto-generated method stub
return null;
}
@Override
public long getItemId(int position) {
// TODO Auto-generated method stub
return 0;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
LinearLayout ll = new LinearLayout(ShowItemFavoriteActivity.this);
ll.setOrientation(LinearLayout.VERTICAL);
TextView tv1 = new TextView(ShowItemFavoriteActivity.this);
tv1.setText(titles[position]);
tv1.setTextSize(18);
tv1.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
tv1.setGravity(Gravity.CENTER_VERTICAL);
TextView tv2 = new TextView(ShowItemFavoriteActivity.this);
tv2.setText(httpAddress[position]);
tv2.setTextSize(18);
tv2.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT));
tv2.setGravity(Gravity.CENTER_VERTICAL);
ll.addView(tv1);
ll.addView(tv2);
return ll;
}
}
}