How to make these buttons functional?

I have an app that I have almost finished which is a scoreboard app. When the user does a LongClick on the score, currently a dialog box appears which shows an EditText field with an OK and CANCEL button. When the user clicks the EditText field a keypad appears (numbers only) in which the user types in the new score, clicks DONE and then the EditText field shows the new value in the dialog box and when the user clicks OK it saves the entered value to the TextView showing the current score.

The problem is that I feel it is cumbersome. Here is what I would like to happen:

  • User does a LongClick on score
  • Keypad appears
  • User enters new score
  • User clicks OK
  • Keypad disappears and value is saved to the TextView updating the current score.
  • In order to accomplish this, I thought of two things:

  • I could create a new class extending View -- I'm too new to android to really understand this option.
  • I could replace the EditText in the dialog with a new XML file which is designed like a keypad.
  • Option 2: I figured this would probably be the easiest so I have designed the XML Layout and called it keypad.xml. Now when the user does a LongClick the keypad.xml file inflates in a dialog with OK and CANCEL. So far so good. However, I don't know where I should put the code for the button actions.

    At first thought, I figured that I could setup some onClick listener which is for ALL BUTTONS in the layout. I figured that all buttons are going to perform the exact same function. Basically, get the text from the button (in this case 0-9) and append it to the TextView which is just above the keypad. Then when the user clicks OK save the TextView in keypad.xml to the current score textview.

    Can anyone help point me in the right direction to accomplish this please?

    Here is the screenshot of keypad.xml (there is an empty TextView above the numbers):

    Here is the XML code:

    <?xml version="1.0" encoding="utf-8"?>
    <GridLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="fill"
    android:columnCount="3" >
    
    <TextView
        android:id="@+id/textView1"
        android:layout_columnSpan="3"
        android:layout_gravity="fill"
        android:gravity="right|center_vertical"
        android:textSize="24sp" />
    
    <Button android:text="1" />
    
    <Button android:text="2" />
    
    <Button android:text="3" />
    <Button android:text="4" />
    <Button android:text="5" />
    <Button android:text="6" />
    <Button android:text="7" />
    <Button android:text="8" />
    <Button android:text="9" />
    
    <Button
        android:layout_columnSpan="3"
        android:layout_gravity="fill"
        android:gravity="center"
        android:text="0" />
    


    This Question has not seemed to prompt a response. In case anyone is looking for an answer to this, I have come up with another solution which isn't exactly the same but works none the less.

    Please see this question.

    链接地址: http://www.djcxy.com/p/93026.html

    上一篇: 横向模式下软键盘的错误

    下一篇: 如何使这些按钮功能?