listview菜单(包含checkbox和dial…

来源:互联网 发布:百乐色彩雫淘宝 编辑:程序博客网 时间:2024/05/16 06:52
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;
       }
    }
}

listview菜单(包含checkbox和dialog)

listview菜单(包含checkbox和dialog)

listview菜单(包含checkbox和dialog)



0 0