Guest User

Untitled

a guest
Jul 21st, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.50 KB | None | 0 0
  1. I tried this:
  2. Activity class:
  3. public MyActivity extends Activity implements onClickListener {
  4. TextView item;
  5. public void onCreate(Bundle state) {
  6. super.onCreate(savedState);
  7. setContentView(R.layout.main);
  8. item = (TextView) findViewById(R.id.id_item);
  9. item .setOnClickListener(this);
  10. }
  11. public void onClick(View v) {
  12. new MyBuilder(this).show();
  13. updateUI();
  14. }
  15. private void updateUI() {
  16. item.setText(ItemMap.item);
  17. }
  18. }
  19.  
  20. Builder class:
  21.  
  22. public class MyBuilder extends AlertDialog.Builder implements OnClickListener{
  23.  
  24. Context context;
  25. String[] items = {"pen", "pencil", "ruler"};
  26. public MyBuilder(Context context) {
  27. super(context);
  28. super.setTitle("Select Item");
  29. this.context = context;
  30. super.setSingleChoiceItems(items, 0, this);
  31.  
  32. }
  33.  
  34. @Override
  35. public void onClick(DialogInterface dialog, int position) {
  36. ItemMap.item = items[position];
  37. dialog.dismiss();
  38. }
  39. }
  40.  
  41. Mapping class:
  42.  
  43. public class ItemMap {
  44. public static String item;
  45. }
  46.  
  47. public MyActivity extends Activity implements onClickListener, AlertBuilderCallback {
  48. TextView item;
  49. public void onCreate(Bundle state) {
  50. super.onCreate(savedState);
  51. setContentView(R.layout.main);
  52. item = (TextView) findViewById(R.id.id_item);
  53. item .setOnClickListener(this);
  54. }
  55. public void onClick(View v) {
  56. new MyBuilder(this).addCallback(this).show();
  57. updateUI();
  58. }
  59. public void updateUI() {
  60. item.setText(ItemMap.item);
  61. }
  62. }
  63.  
  64. public interface AlertBuilderCallback {
  65. public void updateUI();
  66. }
  67.  
  68. public class MyBuilder extends AlertDialog.Builder implements OnClickListener{
  69.  
  70. Context context;
  71. String[] items = {"pen", "pencil", "ruler"};
  72. public MyBuilder(Context context) {
  73. super(context);
  74. super.setTitle("Select Item");
  75. this.context = context;
  76. super.setSingleChoiceItems(items, 0, this);
  77. }
  78.  
  79. public MyBuilder addCallback(AlertBuilderCallback callBack) {
  80. this.callBack = callBack;
  81. return this;
  82. }
  83.  
  84. @Override
  85. public void onClick(DialogInterface dialog, int position) {
  86. ItemMap.item = items[position];
  87. if(this.callBack != null) {
  88. this.callBack.updateUI();
  89. }
  90. dialog.dismiss();
  91. }
  92. }
  93.  
  94. public class ItemMap {
  95. public static String item;
  96. }
  97.  
  98. @Override
  99. public void onClick(DialogInterface dialog, int position) {
  100. ItemMap.item = items[position];
  101. updateUI();
  102. dialog.dismiss();
Add Comment
Please, Sign In to add comment