List of usage examples for android.widget TableLayout setShrinkAllColumns
public void setShrinkAllColumns(boolean shrinkAllColumns)
Convenience method to mark all columns as shrinkable.
From source file:com.svpino.longhorn.artifacts.StockTileProcessor.java
public static void create(Fragment fragment, TableLayout tableLayout, List<Stock> stocks, SparseArray<View> tiles, boolean restart) { if (restart) { tableLayout.removeAllViews();/*from ww w. jav a 2s .c om*/ if (tiles != null) { tiles.clear(); } } tableLayout.setStretchAllColumns(true); tableLayout.setShrinkAllColumns(true); int margin = Extensions.dpToPixels(fragment.getResources(), 3); int height = Extensions.dpToPixels(fragment.getResources(), 90); int index = createFixedHeaderRow(fragment, tableLayout, stocks, tiles, height, margin); int row = index == 3 ? 1 : 0; while (index < stocks.size()) { index = createStandardRow(fragment, tableLayout, stocks, tiles, height, margin, index, row); row++; } while (tableLayout.getChildCount() > row) { tableLayout.removeViewAt(tableLayout.getChildCount() - 1); } if (stocks.size() % 2 != 0) { TableRow tableRow = new TableRow(fragment.getActivity()); View addNewStockTile = createTileForAddingNewStock(fragment); tableRow.addView(addNewStockTile, getSpannedLayoutParams(row, margin, height)); tableLayout.addView(tableRow); } else { TableRow tableRow = (TableRow) tableLayout.getChildAt(tableLayout.getChildCount() - 1); LayoutParams layoutParams = (TableRow.LayoutParams) tableRow.getChildAt(0).getLayoutParams(); layoutParams.bottomMargin = margin; layoutParams.height = height; } }
From source file:edu.ksu.cs.a4vm.bse.MorphologyCount.java
@Override public void onResume() { super.onResume(); test = "Resume called..."; final MediaPlayer btnChangeSound = MediaPlayer.create(getApplicationContext(), R.raw.button_changed); final MediaPlayer limitRchdSound = MediaPlayer.create(getApplicationContext(), R.raw.limit_reached); initVals = (HashSet<String>) SharedPrefUtil.getValue(getApplicationContext(), Constant.PREFS_BULL_MORPHOLOGY_INFO, morphKey); /*morphologyLabels = (HashSet<String>) SharedPrefUtil.getValue(getApplicationContext(), Constant.PREFS_FILE_MORPH_INFO,Constant.KEY_MORPHOLOGY);*/ morphologyLabels = (HashSet<String>) SharedPrefUtil.getValue(getApplicationContext(), Constant.PREFS_GRP_MORPH_CONFIG, grpKey); TableLayout table = new TableLayout(this); FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); table.setLayoutParams(lp);/* w ww. j av a2 s . c o m*/ table.setShrinkAllColumns(true); table.setStretchAllColumns(true); TableLayout.LayoutParams rowLp = new TableLayout.LayoutParams(0, ViewGroup.LayoutParams.MATCH_PARENT, 0.5f); TableRow.LayoutParams cellLp = new TableRow.LayoutParams(0, ViewGroup.LayoutParams.MATCH_PARENT, 1.0f); TableRow.LayoutParams cell1Lp = new TableRow.LayoutParams(60, 120, 1.0f); if (initVals != null) { for (String Val : initVals) { String[] values = Val.split("="); if (values != null && values.length == 2 && values[0].equalsIgnoreCase("Normal")) { NormalCount = Integer.valueOf(values[1].trim().substring(0, values[1].trim().indexOf("("))); NormalProp = Double.valueOf(values[1].trim().substring(values[1].trim().indexOf("(") + 1, values[1].trim().indexOf("%"))); } else if (morphologyLabels != null) { for (String label : morphologyLabels) { String[] lbls = label.split("="); if (lbls != null && lbls.length == 2 && lbls[1].equalsIgnoreCase(values[0])) { if (lbls[0].equalsIgnoreCase("Morphology Field 2")) { Lb2Count = Integer .valueOf(values[1].trim().substring(0, values[1].trim().indexOf("("))); Lb2Prop = Double.valueOf(values[1].trim().substring( values[1].trim().indexOf("(") + 1, values[1].trim().indexOf("%"))); } else if (lbls[0].equalsIgnoreCase("Morphology Field 3")) { Lb3Count = Integer .valueOf(values[1].trim().substring(0, values[1].trim().indexOf("("))); Lb3Prop = Double.valueOf(values[1].trim().substring( values[1].trim().indexOf("(") + 1, values[1].trim().indexOf("%"))); } else if (lbls[0].equalsIgnoreCase("Morphology Field 4")) { Lb4Count = Integer .valueOf(values[1].trim().substring(0, values[1].trim().indexOf("("))); Lb4Prop = Double.valueOf(values[1].trim().substring( values[1].trim().indexOf("(") + 1, values[1].trim().indexOf("%"))); } else if (lbls[0].equalsIgnoreCase("Morphology Field 5")) { Lb5Count = Integer .valueOf(values[1].trim().substring(0, values[1].trim().indexOf("("))); Lb5Prop = Double.valueOf(values[1].trim().substring( values[1].trim().indexOf("(") + 1, values[1].trim().indexOf("%"))); } else if (lbls[0].equalsIgnoreCase("Morphology Field 6")) { Lb6Count = Integer .valueOf(values[1].trim().substring(0, values[1].trim().indexOf("("))); Lb6Prop = Double.valueOf(values[1].trim().substring( values[1].trim().indexOf("(") + 1, values[1].trim().indexOf("%"))); } else if (lbls[0].equalsIgnoreCase("Morphology Field 7")) { Lb7Count = Integer .valueOf(values[1].trim().substring(0, values[1].trim().indexOf("("))); Lb7Prop = Double.valueOf(values[1].trim().substring( values[1].trim().indexOf("(") + 1, values[1].trim().indexOf("%"))); } else if (lbls[0].equalsIgnoreCase("Morphology Field 8")) { Lb8Count = Integer .valueOf(values[1].trim().substring(0, values[1].trim().indexOf("("))); Lb8Prop = Double.valueOf(values[1].trim().substring( values[1].trim().indexOf("(") + 1, values[1].trim().indexOf("%"))); } } } } } } Constant.sum = NormalCount + Lb2Count + Lb3Count + Lb4Count + Lb5Count + Lb6Count + Lb7Count + Lb8Count; row = new TableRow(this); btn1 = new Button(this); btn1.setId(R.id.button1); btn1.setText("Normal:" + NormalCount + "(" + String.format("%.2f", NormalProp) + "%)"); btn1.setBackground(ContextCompat.getDrawable(getApplicationContext(), R.drawable.button)); btn1.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.white)); row.addView(btn1, cellLp); table.addView(row, rowLp); setContentView(table); if (morphologyLabels != null) { Iterator<String> it; TableRow row2 = new TableRow(this); TableRow row3 = new TableRow(this); TableRow row4 = new TableRow(this); TableRow row5 = new TableRow(this); it = morphologyLabels.iterator(); while (it.hasNext()) { String label = it.next(); String text[] = label.split("="); if (label.contains("Morphology Field 2")) { btn2 = new Button(this); btn2.setId(R.id.button2); if (text != null && text.length == 2) { btn2.setText(text[1] + ":" + Lb2Count + "(" + String.format("%.2f", Lb2Prop) + "%)"); } btn2.setBackground(ContextCompat.getDrawable(getApplicationContext(), R.drawable.button2)); btn2.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.white)); btn2.setHeight(300); row2.addView(btn2); } else if (label.contains("Morphology Field 4")) { btn4 = new Button(this); btn4.setId(R.id.button4); if (text != null && text.length == 2) { btn4.setText(text[1] + ":" + Lb4Count + "(" + String.format("%.2f", Lb4Prop) + "%)"); } btn4.setBackground(ContextCompat.getDrawable(getApplicationContext(), R.drawable.button4)); btn4.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.white)); btn4.setHeight(300); row3.addView(btn4); } else if (label.contains("Morphology Field 6")) { btn6 = new Button(this); btn6.setId(R.id.button6); if (text != null && text.length == 2) { btn6.setText(text[1] + ":" + Lb6Count + "(" + String.format("%.2f", Lb6Prop) + "%)"); } btn6.setBackground(ContextCompat.getDrawable(getApplicationContext(), R.drawable.button6)); btn6.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.white)); btn6.setHeight(300); row4.addView(btn6); } else if (label.contains("Morphology Field 8")) { btn8 = new Button(this); btn8.setId(R.id.button8); if (text != null && text.length == 2) { btn8.setText(text[1] + ":" + Lb8Count + "(" + String.format("%.2f", Lb8Prop) + "%)"); } btn8.setBackground(ContextCompat.getDrawable(getApplicationContext(), R.drawable.button8)); btn8.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.white)); //btn = new Button(this); btn8.setHeight(300); row5.addView(btn8); //row5.addView(btn); } } it = morphologyLabels.iterator(); while (it.hasNext()) { String label = it.next(); String text[] = label.split("="); if (label.contains("Limit")) { if (text != null && text.length == 2) { limit = Integer.valueOf(text[1]); } } else if (label.contains("Morphology Field 3")) { btn3 = new Button(this); btn3.setId(R.id.button3); if (text != null && text.length == 2) { btn3.setText(text[1] + ":" + Lb3Count + "(" + String.format("%.2f", Lb3Prop) + "%)"); } btn3.setBackground(ContextCompat.getDrawable(getApplicationContext(), R.drawable.button3)); btn3.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.white)); btn3.setHeight(300); row2.addView(btn3); } else if (label.contains("Morphology Field 5")) { btn5 = new Button(this); btn5.setId(R.id.button5); if (text != null && text.length == 2) { btn5.setText(text[1] + ":" + Lb5Count + "(" + String.format("%.2f", Lb5Prop) + "%)"); } btn5.setBackground(ContextCompat.getDrawable(getApplicationContext(), R.drawable.button5)); btn5.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.white)); btn5.setHeight(300); row3.addView(btn5); } else if (label.contains("Morphology Field 7")) { btn7 = new Button(this); btn7.setId(R.id.button7); if (text != null && text.length == 2) { btn7.setText(text[1] + ":" + Lb7Count + "(" + String.format("%.2f", Lb7Prop) + "%)"); } btn7.setBackground(ContextCompat.getDrawable(getApplicationContext(), R.drawable.button7)); btn7.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.white)); btn7.setHeight(300); row4.addView(btn7); } } table.addView(row2, rowLp); table.addView(row3, rowLp); table.addView(row4, rowLp); table.addView(row5, rowLp); } row = new TableRow(this); btn = new Button(this); btn.setId(R.id.button); btn.setText("Edit Morphology Counts"); btn.setGravity(Gravity.CENTER); row.addView(btn, cell1Lp); tv = new TextView(this); tv.setId(R.id.totals); tv.setText("Total Count:" + Constant.sum); tv.setGravity(Gravity.CENTER); row.addView(tv, cell1Lp); //table.addView(row, rowLp); //setContentView(table); //row = new TableRow(this); table.addView(row, rowLp); setContentView(table); //initializing morphology counts if (initVals == null) { morphologyCounts = new HashSet<String>(); if (btn1 != null) { String initEntry = btn1.getText().toString().trim().replace(":", "="); morphologyCounts.add(initEntry); } if (btn2 != null) { String initEntry = btn2.getText().toString().trim().replace(":", "="); morphologyCounts.add(initEntry); } if (btn3 != null) { String initEntry = btn3.getText().toString().trim().replace(":", "="); morphologyCounts.add(initEntry); } if (btn4 != null) { String initEntry = btn4.getText().toString().trim().replace(":", "="); morphologyCounts.add(initEntry); } if (btn5 != null) { String initEntry = btn5.getText().toString().trim().replace(":", "="); morphologyCounts.add(initEntry); } if (btn6 != null) { String initEntry = btn6.getText().toString().trim().replace(":", "="); morphologyCounts.add(initEntry); } if (btn7 != null) { String initEntry = btn7.getText().toString().trim().replace(":", "="); morphologyCounts.add(initEntry); } if (btn8 != null) { String initEntry = btn8.getText().toString().trim().replace(":", "="); morphologyCounts.add(initEntry); } } else { morphologyCounts = new HashSet<String>(); for (String initVal : initVals) { morphologyCounts.add(initVal); } } if (btn != null) { btn.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //SharedPrefUtil.saveGroup(getApplicationContext(),Constant.PREFS_BULL_MORPHOLOGY_INFO,morphKey,morphologyCounts); Intent gotoEditCount = new Intent(getApplicationContext(), EditMorphologyCounts.class); gotoEditCount.putExtra("morphKey", morphKey); startActivity(gotoEditCount); } }); } if (btn1 != null) { btn1.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //final MediaPlayer btnChangeSound = MediaPlayer.create(getApplicationContext(),R.raw.button_changed); if (currentButton == null) currentButton = "btn1"; else { if (!"btn1".equalsIgnoreCase(currentButton)) { //make sound btnChangeSound.start(); currentButton = "btn1"; } } try { String[] btnStrings = btn1.getText().toString().trim().split(":"); String btnLbl = btnStrings[0].trim(); String btnCount = btnStrings[1].trim().substring(0, btnStrings[1].trim().indexOf("(")); String btnprop = btnStrings[1].trim().substring(btnStrings[1].trim().indexOf("(") + 1, btnStrings[1].trim().indexOf("%")); NormalCount = Integer.valueOf(btnCount); NormalProp = Double.valueOf(btnprop); if (Constant.sum < limit) { String oldTxt = btnLbl + "=" + NormalCount + "(" + String.format("%.2f", NormalProp) + "%" + ")"; morphologyCounts.remove(oldTxt); NormalCount = NormalCount + 1; Constant.sum = Constant.sum + 1; NormalProp = (NormalCount * 100.0) / Constant.sum; String newTxt = btnLbl + ":" + NormalCount + "(" + String.format("%.2f", NormalProp) + "%" + ")"; btn1.setText(newTxt); newTxt = btnLbl + "=" + NormalCount + "(" + String.format("%.2f", NormalProp) + "%" + ")"; morphologyCounts.add(newTxt); } else if (Constant.sum == limit) { limitRchdSound.start(); Constant.sum++; } if (Constant.sum < limit) tv.setText("Total Count:" + Constant.sum); else tv.setText("Total Count:" + limit); } catch (Exception e) { e.printStackTrace(); Toast.makeText(getApplicationContext(), "Error occured. Restart and try again", Toast.LENGTH_SHORT).show(); } } }); } if (btn2 != null) { tv.setText("Total Count:" + Constant.sum); btn2.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //final MediaPlayer btnChangeSound = MediaPlayer.create(getApplicationContext(),R.raw.button_changed); if (currentButton == null) currentButton = "btn2"; else { if (!"btn2".equalsIgnoreCase(currentButton)) { //make sound btnChangeSound.start(); currentButton = "btn2"; } } try { String[] btnStrings = btn2.getText().toString().trim().split(":"); String btnLbl = btnStrings[0].trim(); String btnCount = btnStrings[1].trim().substring(0, btnStrings[1].trim().indexOf("(")); String btnprop = btnStrings[1].trim().substring(btnStrings[1].trim().indexOf("(") + 1, btnStrings[1].trim().indexOf("%")); Lb2Count = Integer.valueOf(btnCount); Lb2Prop = Double.valueOf(btnprop); if (Constant.sum < limit) { String oldTxt = btnLbl + "=" + Lb2Count + "(" + String.format("%.2f", Lb2Prop) + "%" + ")"; morphologyCounts.remove(oldTxt); Lb2Count = Lb2Count + 1; Constant.sum = Constant.sum + 1; Lb2Prop = (Lb2Count * 100.0) / Constant.sum; String newTxt = btnLbl + ":" + Lb2Count + "(" + String.format("%.2f", Lb2Prop) + "%" + ")"; btn2.setText(newTxt); newTxt = btnLbl + "=" + Lb2Count + "(" + String.format("%.2f", Lb2Prop) + "%" + ")"; morphologyCounts.add(newTxt); } else if (Constant.sum == limit) { limitRchdSound.start(); Constant.sum++; } if (Constant.sum < limit) tv.setText("Total Count:" + Constant.sum); else tv.setText("Total Count:" + limit); } catch (Exception e) { e.printStackTrace(); Toast.makeText(getApplicationContext(), "Error occured. Restart and try again", Toast.LENGTH_SHORT).show(); } } }); } if (btn3 != null) { btn3.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (currentButton == null) currentButton = "btn3"; else { if (!"btn3".equalsIgnoreCase(currentButton)) { //make sound btnChangeSound.start(); currentButton = "btn3"; } } try { String[] btnStrings = btn3.getText().toString().trim().split(":"); String btnLbl = btnStrings[0].trim(); String btnCount = btnStrings[1].trim().substring(0, btnStrings[1].trim().indexOf("(")); String btnprop = btnStrings[1].trim().substring(btnStrings[1].trim().indexOf("(") + 1, btnStrings[1].trim().indexOf("%")); Lb3Count = Integer.valueOf(btnCount); Lb3Prop = Double.valueOf(btnprop); if (Constant.sum < limit) { String oldTxt = btnLbl + "=" + Lb3Count + "(" + String.format("%.2f", Lb3Prop) + "%" + ")"; morphologyCounts.remove(oldTxt); Lb3Count = Lb3Count + 1; Constant.sum = Constant.sum + 1; Lb3Prop = (Lb3Count * 100.0) / Constant.sum; String newTxt = btnLbl + ":" + Lb3Count + "(" + String.format("%.2f", Lb3Prop) + "%" + ")"; btn3.setText(newTxt); newTxt = btnLbl + "=" + Lb3Count + "(" + String.format("%.2f", Lb3Prop) + "%" + ")"; morphologyCounts.add(newTxt); } else if (Constant.sum == limit) { limitRchdSound.start(); Constant.sum++; } if (Constant.sum < limit) tv.setText("Total Count:" + Constant.sum); else tv.setText("Total Count:" + limit); } catch (Exception e) { e.printStackTrace(); Toast.makeText(getApplicationContext(), "Error occured. Restart and try again", Toast.LENGTH_SHORT).show(); } } }); } if (btn4 != null) { btn4.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (currentButton == null) currentButton = "btn4"; else { if (!"btn4".equalsIgnoreCase(currentButton)) { //make sound btnChangeSound.start(); currentButton = "btn4"; } } try { String[] btnStrings = btn4.getText().toString().trim().split(":"); String btnLbl = btnStrings[0].trim(); String btnCount = btnStrings[1].trim().substring(0, btnStrings[1].trim().indexOf("(")); String btnprop = btnStrings[1].trim().substring(btnStrings[1].trim().indexOf("(") + 1, btnStrings[1].trim().indexOf("%")); Lb4Count = Integer.valueOf(btnCount); Lb4Prop = Double.valueOf(btnprop); if (Constant.sum < limit) { String oldTxt = btnLbl + "=" + Lb4Count + "(" + String.format("%.2f", Lb4Prop) + "%" + ")"; morphologyCounts.remove(oldTxt); Lb4Count = Lb4Count + 1; Constant.sum = Constant.sum + 1; Lb4Prop = (Lb4Count * 100.0) / Constant.sum; String newTxt = btnLbl + ":" + Lb4Count + "(" + String.format("%.2f", Lb4Prop) + "%" + ")"; btn4.setText(newTxt); newTxt = btnLbl + "=" + Lb4Count + "(" + String.format("%.2f", Lb4Prop) + "%" + ")"; morphologyCounts.add(newTxt); } else if (Constant.sum == limit) { limitRchdSound.start(); Constant.sum++; } if (Constant.sum < limit) tv.setText("Total Count:" + Constant.sum); else tv.setText("Total Count:" + limit); } catch (Exception e) { e.printStackTrace(); Toast.makeText(getApplicationContext(), "Error occured. Restart and try again", Toast.LENGTH_SHORT).show(); } } }); } if (btn5 != null) { btn5.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (currentButton == null) currentButton = "btn5"; else { if (!"btn5".equalsIgnoreCase(currentButton)) { //make sound btnChangeSound.start(); currentButton = "btn5"; } } try { String[] btnStrings = btn5.getText().toString().trim().split(":"); String btnLbl = btnStrings[0].trim(); String btnCount = btnStrings[1].trim().substring(0, btnStrings[1].trim().indexOf("(")); String btnprop = btnStrings[1].trim().substring(btnStrings[1].trim().indexOf("(") + 1, btnStrings[1].trim().indexOf("%")); Lb5Count = Integer.valueOf(btnCount); Lb5Prop = Double.valueOf(btnprop); if (Constant.sum < limit) { String oldTxt = btnLbl + "=" + Lb5Count + "(" + String.format("%.2f", Lb5Prop) + "%" + ")"; morphologyCounts.remove(oldTxt); Lb5Count = Lb5Count + 1; Constant.sum = Constant.sum + 1; Lb5Prop = (Lb5Count * 100.0) / Constant.sum; String newTxt = btnLbl + ":" + Lb5Count + "(" + String.format("%.2f", Lb5Prop) + "%" + ")"; btn5.setText(newTxt); newTxt = btnLbl + "=" + Lb5Count + "(" + String.format("%.2f", Lb5Prop) + "%" + ")"; morphologyCounts.add(newTxt); } else if (Constant.sum == limit) { limitRchdSound.start(); Constant.sum++; } if (Constant.sum < limit) tv.setText("Total Count:" + Constant.sum); else tv.setText("Total Count:" + limit); } catch (Exception e) { e.printStackTrace(); Toast.makeText(getApplicationContext(), "Error occured. Restart and try again", Toast.LENGTH_SHORT).show(); } } }); } if (btn6 != null) { btn6.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (currentButton == null) currentButton = "btn6"; else { if (!"btn6".equalsIgnoreCase(currentButton)) { //make sound btnChangeSound.start(); currentButton = "btn6"; } } try { String[] btnStrings = btn6.getText().toString().trim().split(":"); String btnLbl = btnStrings[0].trim(); String btnCount = btnStrings[1].trim().substring(0, btnStrings[1].trim().indexOf("(")); String btnprop = btnStrings[1].trim().substring(btnStrings[1].trim().indexOf("(") + 1, btnStrings[1].trim().indexOf("%")); Lb6Count = Integer.valueOf(btnCount); Lb6Prop = Double.valueOf(btnprop); if (Constant.sum < limit) { String oldTxt = btnLbl + "=" + Lb6Count + "(" + String.format("%.2f", Lb6Prop) + "%" + ")"; morphologyCounts.remove(oldTxt); Lb6Count = Lb6Count + 1; Constant.sum = Constant.sum + 1; Lb6Prop = (Lb6Count * 100.0) / Constant.sum; String newTxt = btnLbl + ":" + Lb6Count + "(" + String.format("%.2f", Lb6Prop) + "%" + ")"; btn6.setText(newTxt); newTxt = btnLbl + "=" + Lb6Count + "(" + String.format("%.2f", Lb6Prop) + "%" + ")"; morphologyCounts.add(newTxt); } else if (Constant.sum == limit) { limitRchdSound.start(); Constant.sum++; } if (Constant.sum < limit) tv.setText("Total Count:" + Constant.sum); else tv.setText("Total Count:" + limit); } catch (Exception e) { e.printStackTrace(); Toast.makeText(getApplicationContext(), "Error occured. Restart and try again", Toast.LENGTH_SHORT).show(); } } }); } if (btn7 != null) { btn7.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (currentButton == null) currentButton = "btn7"; else { if (!"btn7".equalsIgnoreCase(currentButton)) { //make sound btnChangeSound.start(); currentButton = "btn7"; } } try { String[] btnStrings = btn7.getText().toString().trim().split(":"); String btnLbl = btnStrings[0].trim(); String btnCount = btnStrings[1].trim().substring(0, btnStrings[1].trim().indexOf("(")); String btnprop = btnStrings[1].trim().substring(btnStrings[1].trim().indexOf("(") + 1, btnStrings[1].trim().indexOf("%")); Lb7Count = Integer.valueOf(btnCount); Lb7Prop = Double.valueOf(btnprop); if (Constant.sum < limit) { String oldTxt = btnLbl + "=" + Lb7Count + "(" + String.format("%.2f", Lb7Prop) + "%" + ")"; morphologyCounts.remove(oldTxt); Lb7Count = Lb7Count + 1; Constant.sum = Constant.sum + 1; Lb7Prop = (Lb7Count * 100.0) / Constant.sum; String newTxt = btnLbl + ":" + Lb7Count + "(" + String.format("%.2f", Lb7Prop) + "%" + ")"; btn7.setText(newTxt); newTxt = btnLbl + "=" + Lb7Count + "(" + String.format("%.2f", Lb7Prop) + "%" + ")"; morphologyCounts.add(newTxt); } else if (Constant.sum == limit) { limitRchdSound.start(); Constant.sum++; } if (Constant.sum < limit) tv.setText("Total Count:" + Constant.sum); else tv.setText("Total Count:" + limit); } catch (Exception e) { e.printStackTrace(); Toast.makeText(getApplicationContext(), "Error occured. Restart and try again", Toast.LENGTH_SHORT).show(); } } }); } if (btn8 != null) { btn8.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { if (currentButton == null) currentButton = "btn8"; else { if (!"btn8".equalsIgnoreCase(currentButton)) { //make sound btnChangeSound.start(); currentButton = "btn8"; } } try { String[] btnStrings = btn8.getText().toString().trim().split(":"); String btnLbl = btnStrings[0].trim(); String btnCount = btnStrings[1].trim().substring(0, btnStrings[1].trim().indexOf("(")); String btnprop = btnStrings[1].trim().substring(btnStrings[1].trim().indexOf("(") + 1, btnStrings[1].trim().indexOf("%")); Lb8Count = Integer.valueOf(btnCount); Lb8Prop = Double.valueOf(btnprop); if (Constant.sum < limit) { String oldTxt = btnLbl + "=" + Lb8Count + "(" + String.format("%.2f", Lb8Prop) + "%" + ")"; morphologyCounts.remove(oldTxt); Lb8Count = Lb8Count + 1; Constant.sum = Constant.sum + 1; Lb8Prop = (Lb8Count * 100.0) / Constant.sum; String newTxt = btnLbl + ":" + Lb8Count + "(" + String.format("%.2f", Lb8Prop) + "%" + ")"; btn8.setText(newTxt); newTxt = btnLbl + "=" + Lb8Count + "(" + String.format("%.2f", Lb8Prop) + "%" + ")"; morphologyCounts.add(newTxt); } else if (Constant.sum == limit) { limitRchdSound.start(); Constant.sum++; } if (Constant.sum < limit) tv.setText("Total Count:" + Constant.sum); else tv.setText("Total Count:" + limit); } catch (Exception e) { e.printStackTrace(); Toast.makeText(getApplicationContext(), "Error occured. Restart and try again", Toast.LENGTH_SHORT).show(); } } }); } }
From source file:com.murrayc.galaxyzoo.app.QuestionFragment.java
private void update() { final FragmentActivity activity = getActivity(); if (activity == null) return;/* w w w . jav a 2s. c om*/ if (mRootView == null) { //This can happen when update() is called by the parent fragment //after this fragment has been instantiated after an orientation change, //but before onCreateView() has been called. It's not a problem //because onCreateView() will call this method again after setting mRootView. //Log.error("QuestionFragment.update(): mRootView is null."); return; } //Wipe the question details, //to ensure that we don't have old question details if somethng goes wrong when we //try to get and show the correct question details. final TextView textViewTitle = (TextView) mRootView.findViewById(R.id.textViewTitle); if (textViewTitle == null) { Log.error("update(): textViewTitle is null."); return; } textViewTitle.setText(""); //Show the text: final TextView textViewText = (TextView) mRootView.findViewById(R.id.textViewText); if (textViewText == null) { Log.error("update(): textViewText is null."); return; } textViewText.setText(""); final TableLayout layoutAnswers = (TableLayout) mRootView.findViewById(R.id.layoutAnswers); if (layoutAnswers == null) { Log.error("update(): layoutAnswers is null."); return; } layoutAnswers.removeAllViews(); if (getSingleton() == null) { //The parent fragment's onSingletonInitialized has been called //but this fragment's onSingletonInitialized hasn't been called yet. //That's OK. update() will be called, indirectly, later by this fragment's onSingletonInitialized(). return; } final DecisionTree.Question question = getQuestion(); if (question == null) { Log.error("update(): question is null."); return; } //Show the title: textViewTitle.setText(question.getTitle()); //Show the text: textViewText.setText(question.getText()); layoutAnswers.setShrinkAllColumns(true); layoutAnswers.setStretchAllColumns(true); //Checkboxes: mCheckboxButtons.clear(); final int COL_COUNT = 4; int col = 1; int rows = 0; TableRow row = null; final LayoutInflater inflater = LayoutInflater.from(activity); for (final DecisionTree.Checkbox checkbox : question.getCheckboxes()) { //Start a new row if necessary: if (row == null) { row = addRowToTable(activity, layoutAnswers); rows++; } final ToggleButton button = (ToggleButton) inflater.inflate(R.layout.question_answer_checkbox, null); //Use just the highlighting (line, color, etc) to show that it's selected, //instead of On/Off, so we don't need a separate label. //TODO: Use the icon. See http://stackoverflow.com/questions/18598255/android-create-a-toggle-button-with-image-and-no-text //TODO: Avoid the highlight bar thing at the bottom being drawn over the text. final String text = checkbox.getText(); button.setText(text); button.setTextOn(text); button.setTextOff(text); insertButtonInRow(activity, row, button); final BitmapDrawable icon = getIcon(activity, checkbox); button.setCompoundDrawables(null, icon, null, null); mCheckboxButtons.put(checkbox.getId(), button); if (col < COL_COUNT) { col++; } else { col = 1; row = null; } } //Answers: for (final DecisionTree.Answer answer : question.getAnswers()) { //Start a new row if necessary: if (row == null) { row = addRowToTable(activity, layoutAnswers); rows++; } final Button button = createAnswerButton(activity, answer); insertButtonInRow(activity, row, button); final String questionId = question.getId(); final String answerId = answer.getId(); button.setOnClickListener(new View.OnClickListener() { public void onClick(final View v) { // Perform action on click onAnswerButtonClicked(questionId, answerId); } }); if (col < COL_COUNT) { col++; } else { col = 1; row = null; } } //Add empty remaining cells, to avoid the other cells from expanding to fill the space, //because we want them to line up with the same cells above and below. if ((row != null) && (rows > 1)) { final int remaining_in_row = COL_COUNT - col + 1; for (int i = 0; i < remaining_in_row; i++) { //TODO: We could use Space instead of FrameLayout when using API>14. final FrameLayout placeholder = new FrameLayout(activity); insertButtonInRow(activity, row, placeholder); } } if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) { /* This wastes even more space to be even more consistent: //Make sure there are always at least 2 rows, //so we request roughly the same amount of space each time: if (rows < 2) { row = addRowToTable(activity, layoutAnswers); final DecisionTree.Answer answer = new DecisionTree.Answer("bogus ID", "bogus title", getArbitraryIconId(), null, 0); final Button button = createAnswerButton(activity, answer); button.setVisibility(View.INVISIBLE); //It won't be seen, but it's size will be used. insertButtonInRow(activity, row, button); } */ //This will be used in a later onLayout(), //so we will know the correct height at least during the second classification, mRootView.setRowsCountForMaxHeightExperienced(rows); //Try to keep the height consistent, to avoid the user seeing everything moving about. final int min = mRootView.getMaximumHeightExperienced(rows); if (min > 0) { mRootView.setMinimumHeight(min); } } else { //Ignore any previously-set minimum height, //to stop the portrait-mode's layout from affecting the layout-mode's layout: mRootView.setMinimumHeight(0); } }