package learn.ui;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Timer;
import java.util.TimerTask;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.graphics.Color;
import android.os.Bundle;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.FrameLayout;
import android.widget.ImageView;
import android.widget.LinearLayout;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
public class LearnFormHActivity extends Activity {
private static final int OPTION_Setting = 0;
ImageView imgview;
LinearLayout llt1;
FrameLayout flt1;
ListView listView1;
private EditText passwordEditText;
private static BooleanisExit = false;
private static BooleanhasTask = false;
Timer tExit = newTimer();
private GroupListAdapter adapter = null;
privateList<Map<String,Object>>list = newArrayList<Map<String,Object>>();
private String[]AllItemNames = {"Network", "server_address",
"port","Database", "createDB", "ChangeDB","Mode","On_line",
"Image","Help","About"};
private String[]infoNames={"","172.16.119.200","9526","","8f","9f","","offline","image",""," "};
public enum Day
{
Network, server_address,port, Database,
createDB, ChangeDB,Mode,On_line,Image,
Help,About;
public static Day toDay(String str)
{
try {returnvalueOf(str); }
catch(Exception ex) {return Network; }
}
}
@Override
public voidonCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.happyfl);
imgview=(ImageView)findViewById(R.id.mainImage1);
llt1=(LinearLayout)findViewById(R.id.mainLinearLayout1);
listView1=(ListView)findViewById(R.id.listView1);
llt1.setVisibility(View.INVISIBLE);
setData();
adapter = new GroupListAdapter(this,list);
listView1.setAdapter(adapter);
listView1.setOnItemClickListener(newOnItemClickListener(){
publicvoid onItemClick(AdapterView<?>parent, View view,
int position, long id){
ListView listView =(ListView)parent;
Map<String,Object> map = (HashMap<String,Object>) listView.getItemAtPosition(position);
String userid =(String)map.get("Item");
StringinfoId=(String)map.get("infoItem");
switch(Day.toDay(userid))
{
case port:
LayoutInflater factory =LayoutInflater.from(LearnFormHActivity.this);
final View textEntryView =factory.inflate(R.layout.second, null);
final AlertDialog.Builderalert = new AlertDialog.Builder(LearnFormHActivity.this);
alert.setTitle("alert Title");
alert.setView(textEntryView);
alert.setPositiveButton("Ok",
new DialogInterface.OnClickListener() {
publicvoid onClick(DialogInterface dialog,int whichButton) {
passwordEditText =(EditText)textEntryView.findViewById(R.id.username_edit);
// tV2.setText(passwordEditText.getText().toString());
Map<String,Object> map2 = newHashMap<String, Object>();
map2.put("Item","port");
map2.put("infoItem", passwordEditText.getText().toString());
map2.put("check", false);
list.set(2, map2);
adapter.notifyDataSetChanged();
}
});
alert.setNegativeButton("Cancel",
new DialogInterface.OnClickListener() {
publicvoid onClick(DialogInterface dialog,
int whichButton) {
}
});
alert.show();
break;
case server_address:
break;
case Image:
Log.i("hello",infoId);
if(infoId=="Image")
{
Map<String,Object> map2 = newHashMap<String, Object>();
map2.put("Item","Image");
map2.put("infoItem","Video");
map2.put("check",false);
list.set(8, map2);
adapter.notifyDataSetChanged();
}
else
{
Map<String,Object> map2 = newHashMap<String, Object>();
map2.put("Item","Image");
map2.put("infoItem","Image");
map2.put("check", true);
list.set(8, map2);
adapter.notifyDataSetChanged();
}
break;
case On_line:
if(infoId=="offline")
{
Map<String,Object> map2 = newHashMap<String, Object>();
map2.put("Item","On_line");
map2.put("infoItem","online");
map2.put("check",true);
list.set(7, map2);
adapter.notifyDataSetChanged();
}
else
{
Map<String,Object> map2 = newHashMap<String, Object>();
map2.put("Item","On_line");
map2.put("infoItem","offline");
map2.put("check",false);
list.set(7, map2);
adapter.notifyDataSetChanged();
}
break;
}
}
});
}
public voidsetData(){
for(int i=0;i<AllItemNames.length;i++)
{
Map<String,Object> map = newHashMap<String, Object>();
map.put("Item",AllItemNames[i]);
map.put("infoItem",infoNames[i]);
map.put("check",false);
list.add(map);
}
}
@Override
public booleanonCreateOptionsMenu(Menu menu) {
// TODO Auto-generatedmethod stub
menu.add(0,OPTION_Setting, 0, "setting");
returnsuper.onCreateOptionsMenu(menu);
}
@Override
public booleanonOptionsItemSelected(MenuItem item) {
// TODO Auto-generatedmethod stub
int itemId =item.getItemId();
//
switch(itemId){
caseOPTION_Setting:
imgview.setVisibility(View.INVISIBLE);
llt1.setVisibility(View.VISIBLE);
break;
}
returnsuper.onOptionsItemSelected(item);
}
TimerTask task = newTimerTask() {
@Override
public void run() {
isExit =false;
hasTask =true;
}
};
public boolean onKeyDown(int keyCode, KeyEvent event) {
// TODO Auto-generated methodstub
if(keyCode ==KeyEvent.KEYCODE_BACK){
// System.out.println("user back down");
imgview.setVisibility(View.VISIBLE);
llt1.setVisibility(View.INVISIBLE);
if(isExit== false ) {
isExit = true;
Toast.makeText(this, "再按一次退出程序",Toast.LENGTH_SHORT).show();
if(!hasTask) {
tExit.schedule(task, 1000);
}
}
else
{
finish();
System.exit(0);
}
}
return false;
}
private static classGroupListAdapter extendsArrayAdapter<Map<String,Object>>{
public GroupListAdapter(Context context,List<Map<String,Object>>objects) {
super(context,0,objects);
}
@Override
public boolean isEnabled(int position) {
if(getItem(position).get("infoItem")==""){
return false;
}
returnsuper.isEnabled(position);
}
@Override
public View getView(int position, ViewconvertView, ViewGroup parent) {
View view= convertView;
if(getItem(position).get("infoItem")==""){
view =LayoutInflater.from(getContext()).inflate(R.layout.group_list_item_tag,null);
TextView textView =(TextView) view.findViewById(R.id.group_list_item_text);
textView.setText((String)getItem(position).get("Item"));
textView.setTextSize(18);
view.setBackgroundColor(Color.GRAY);
}else{
view =LayoutInflater.from(getContext()).inflate(R.layout.group_list_item,null);
TextView textView =(TextView) view.findViewById(R.id.title);
textView.setText((String)getItem(position).get("Item"));
textView.setTextSize(20);
TextViewtV2=(TextView) view.findViewById(R.id.info);
tV2.setText((String)getItem(position).get("infoItem"));
tV2.setTextColor(Color.rgb(0,255, 255));
tV2.setTextSize(15);
CheckBox checkBox1 =(CheckBox) view.findViewById(R.id.checkBox1);
checkBox1.setChecked((Boolean)getItem(position).get("check"));
ImageViewimgView2=(ImageView)view.findViewById(R.id.imageView2);
if((String)getItem(position).get("Item")=="On_line"||(String)getItem(position).get("Item")=="Image")
{
checkBox1.setVisibility(View.VISIBLE);
imgView2.setVisibility(View.INVISIBLE);
}
}
returnview;
}
}
}