Code example for ToggleButton

Methods: setEnabledsetChecked, setVisibility

0
				dictnr.setEnabled(true);
				src.setEnabled(true);
				fromdan.setEnabled(true);
				todan.setEnabled(true);
				eks.setEnabled(true);
				rev.setEnabled(true);
				show_search_result.loadDataWithBaseURL("fake-url", "<html></html>", "text/html", "UTF-8", null);
				show_search_result.loadUrl("about:blank");
			} 
			int lang_sel = selectedItemPosition;
			int doubflag = Integer.parseInt(dictionaries.get(lang_sel)[4]);
			String flag_name_fromdan = "da"+dictionaries.get(lang_sel)[0];
			String flag_name_todan = dictionaries.get(lang_sel)[0]+"da";
			Resources res = getResources();
			int resourceId = res.getIdentifier(
					flag_name_fromdan, "drawable", getPackageName() );
			fromdan_im.setImageResource( resourceId );
			if (doubflag < 2) {
				todan.setVisibility(4);
				todan_im.setVisibility(4);
			} else { 
				todan.setVisibility(0);
				todan_im.setVisibility(0);
				resourceId = res.getIdentifier(
						flag_name_todan, "drawable", getPackageName() );
				todan_im.setImageResource( resourceId );
			} 
			if ((doubflag&1)==0) {
				rev.setVisibility(4);
			} else { 
				rev.setVisibility(0);
			} 
		} else { 
			src_txt.setEnabled(false);
			dictnr.setEnabled(false);
			src.setEnabled(false);
			fromdan.setEnabled(false);
			todan.setEnabled(false);
			eks.setEnabled(false);
			rev.setEnabled(false);
			show_search_result.loadData("Der blev ikke fundet nogen ordbøger." +
					"<br><br><small><small>Ordbøgerne skal lægges ind i en mappe på enheden. Har du " + 
					"allerede gjort dette, skal du klikke på menu-knappen, og søge efter " + 
					"dem på enheden.<br><br>Denne ordbogslæser er kun kompatibel med " + 
					"Gyldendals ordbøger i download-udgaven. Disse købes på " + 
					"http://ordbog.gyldendal.dk<br><br>Når du har købt programmet, skal du " + 
					"installere det (på en PC eller Mac) og så kan du hente database-filerne " + 
					"inde i '%Program Files%Gyldendal/Røde Ordbøger/data'. Hver ordbog består " + 
					"af en *.gdd og en *.dat-fil.<br><br>Eks: For at få adgang til den tyske " + 
					"ordbog skal du således uploade filerne Tyskordbog.gdd og Tyskordbog.dat</small></small>" 
					, "text/html; charset=utf-8", "UTF-8"); 
		} 
	} 
	private void get_results() { 
		//Så skal der søges i ordbogsdatabaserne 
		for (int x=0; x<2; x++) {
    		for (int y=0; y<3; y++) {
    			results[x][y]="";
    		} 
    	} 
		try { 
			results = Dictionary.lookup(src_txt.getText().toString(), dictionaries.get(dictnr.getSelectedItemPosition())[0], 
					dictionaries.get(dictnr.getSelectedItemPosition())[2], dictionaries.get(dictnr.getSelectedItemPosition())[3], 
					dict_dir, Integer.parseInt(dictionaries.get(dictnr.getSelectedItemPosition())[4]));
		} catch (NumberFormatException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		} catch (SQLException e) {
			e.printStackTrace();
		} catch (ClassNotFoundException e) {
			e.printStackTrace();
		} 
	} 
 
	private void show_results() { 
		//Visning af opslaget i webview 
		//TODO: hvis man drejer telefonen i den anden retning, så nulstilles webview 
		int doub = Integer.parseInt(dictionaries.get(dictnr.getSelectedItemPosition())[4]);
		boolean fromDanish = fromdan.isChecked();
		boolean toDanish = todan.isChecked();
		boolean eks_flag = eks.isChecked();
		boolean rev_flag = rev.isChecked();
		String lang_longname = dictionaries.get(dictnr.getSelectedItemPosition())[1];
		 
		ArrayList<String> opsamling = new ArrayList<String>();
		opsamling.add("<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' " +
				"'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html xmlns=" + 
				"'http://www.w3.org/1999/xhtml' xml:lang='da' lang='da'>" + 
				"<head><title>Opslag</title><meta http-equiv='Content-Type' content='text/html; charset=utf-8' /></head>" + 
				"<body><small><small>"); 
		if (results!=null) {
			if (doub==0 || doub==2) rev_flag=false;
			if (fromDanish) {
				if (results[0][0].compareTo("")!=0) {
					if (doub>1) {
						opsamling.add("<h1>Dansk - " + lang_longname + "<br/><br/></h1>");
					} else { 
						opsamling.add("<h1>" + lang_longname + "<br/><br/></h1>");
					} 
					opsamling.add(results[0][0]);
					opsamling.add("<br/>");
				} 
				if(rev_flag && results[0][1].compareTo("")!=0) {
					opsamling.add("<h2>Forekomster i 'omvendt søgning'<br/></h2>");
					opsamling.add(results[0][1]);
					opsamling.add("<br/>");
				} 
				if(eks_flag && results[0][2].compareTo("")!=0) {
					opsamling.add("<h2>Eksempelsætninger<br/></h2>");
					opsamling.add(results[0][2]);
					opsamling.add("<br/><br/>");
				} 
			} 
			if (toDanish && doub>1) {
				if (results[1][0].compareTo("")!=0) {
					opsamling.add("<h1>" + lang_longname + "-Dansk<br/><br/></h1>");
					opsamling.add(results[1][0]);
					opsamling.add("<br/>");
				} 
				if(rev_flag && results[1][1].compareTo("")!=0) {
					opsamling.add("<h2>Forekomster i 'omvendt søgning'<br/></h2>");
					opsamling.add(results[1][1]);
					opsamling.add("<br/>");
				} 
				if(eks_flag && results[1][2].compareTo("")!=0) {
					opsamling.add("<h2>Eksempelsætninger<br/></h2>");
					opsamling.add(results[1][2]);
				} 
			} 
		} 
		opsamling.add("</small></small></body></html>");
		StringBuffer t_ = new StringBuffer();
		t_.setLength(0);
		for (String t:opsamling) {
			t_.append(t);
		} 
		show_search_result.loadDataWithBaseURL("fake-url", "<html></html>", "text/html", "UTF-8", null);
		show_search_result.loadData(t_.toString(), "text/html; charset=utf-8", "UTF-8");
	} 
 
	 
	 
	@Override 
	protected void onStop() { 
		super.onStop(); 
		//Gem settings 
		//TODO: skulle dette mon også ind i en onPause?? 
		SharedPreferences settings = getSharedPreferences("AndGro_settings", 0);
		SharedPreferences.Editor editor = settings.edit();
		editor.putInt("dictnr_settings", dictnr.getSelectedItemPosition());
		editor.putBoolean("todan_settings", todan.isChecked());
		editor.putBoolean("fromdan_settings", fromdan.isChecked());
		editor.putBoolean("eks_settings", eks.isChecked());
		editor.putBoolean("rev_settings", rev.isChecked());
		editor.putString("dict_dir_settings", dict_dir);
		editor.commit();
	} 
	 
	@Override 
	public boolean onCreateOptionsMenu(Menu menu) {
		//Danne settings-menuen 
		MenuInflater inflater = getMenuInflater();
		inflater.inflate(R.menu.mymenu, menu);
		return true; 
	} 
	 
	@Override 
	public boolean onOptionsItemSelected(MenuItem item) {
		if (item.getItemId()== R.id.find_dict) {
			//Finde mappe med ordbogsfiler 
			Intent intent = new Intent(this, BrowseFiles.class);
			intent.putExtra(EXTRA_MESSAGE, dict_dir);
			startActivityForResult(intent, CREATE_REQUEST_CODE);
		} 
		if (item.getItemId()== R.id.stay_on_setting) {
			//Forhindre at apparatet går i standby 
			item.setChecked(!item.isChecked());
			if (item.isChecked()) {
				new AlertDialog.Builder(this)
				 .setIcon(R.drawable.ic_launcher)
				 .setTitle("Kan være hård ved batteriet!") 
				 .setPositiveButton("OK",  
						 new DialogInterface.OnClickListener() {
					 @Override 
					  
					 public void onClick(DialogInterface dialog, int which) {
						 // Auto-generated method stub 
					 } 
					 }).show(); 
				getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
			} else { 
				getWindow().clearFlags(android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
			} 
		} 
		return super.onOptionsItemSelected(item);
	} 
	 
	 
	 
	protected void onActivityResult(int requestCode, int resultCode, Intent data) {
		//Her returneres biblioteket for ordbøgerne, hvis brugeren har været i "settings"-aktiviteten 
		if (requestCode == CREATE_REQUEST_CODE) {
		      if (resultCode == RESULT_OK) {
		    	dict_dir = data.getStringExtra("RESULT_STRING");
		        dictionaries = Get_books.parse_dictionaries(this, dict_dir);
		        fromdan.setChecked(true);
		        todan.setChecked(true);
		        eks.setChecked(true);
		        rev.setChecked(true);
		        dictnr.setSelection(0);
		        createSpinner(dictionaries, dictnr.getSelectedItemPosition());
		        set_views(dictnr.getSelectedItemPosition());
		      } 
		   }