我有一個應用程序,我已經差不多完成了這是一個記分牌應用程序。當用戶在樂譜上做LongClick時,會出現一個對話框,其中顯示帶有OK和CANCEL按鈕的EditText字段。當用戶單擊EditText字段時,會出現一個鍵盤(僅限數字),用戶在其中輸入新樂譜,單擊DONE,然後EditText字段在對話框中顯示新值,當用戶單擊確定時,會保存輸入的值到顯示當前分數的TextView。自定義鍵盤 - 如何使這些按鈕功能?
問題是我覺得這很麻煩。這是我想發生什麼:
- 用戶執行LongClick上得分
- 鍵盤出現
- 用戶進入新的得分
- 用戶點擊OK
- 鍵盤消失和值保存到TextView更新當前分數。
爲了做到這一點,我想到兩兩件事:
- 我可以創建擴展查看一個新類 - 我太新到Android真正理解這個選項。
- 我可以使用像鍵盤一樣設計的新XML文件替換對話框中的EditText。
選項2:我想這可能是最簡單的,所以我設計了XML佈局並將其命名爲keypad.xml。現在,當用戶執行LongClick時,keypad.xml文件在OK和CANCEL對話框中膨脹。到現在爲止還挺好。但是,我不知道應該在哪裏放置按鈕操作的代碼。
首先想到的是,我想我可以設置一些onClick監聽器,它是佈局中的所有按鈕。我認爲所有按鈕都將執行完全相同的功能。基本上,從按鈕(在這種情況下爲0-9)獲取文本,並將其附加到鍵盤正上方的TextView。然後,當用戶單擊確定時,將keypad.xml中的TextView保存到當前得分textview。
任何人都可以幫助指出我在正確的方向來完成這個請嗎?
這裏是keypad.xml的屏幕截圖(有數字上方的空的TextView):
這裏是XML代碼:
<?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" />