2012-12-28 34 views
0

我有一个应用程序,我已经差不多完成了这是一个记分牌应用程序。当用户在乐谱上做LongClick时,会出现一个对话框,其中显示带有OK和CANCEL按钮的EditText字段。当用户单击EditText字段时,会出现一个键盘(仅限数字),用户在其中输入新乐谱,单击DONE,然后EditText字段在对话框中显示新值,当用户单击确定时,会保存输入的值到显示当前分数的TextView。自定义键盘 - 如何使这些按钮功能?

问题是我觉得这很麻烦。这是我想发生什么:

  1. 用户执行LongClick上得分
  2. 键盘出现
  3. 用户进入新的得分
  4. 用户点击OK
  5. 键盘消失和值保存到TextView更新当前分数。

为了做到这一点,我想到两两件事:

  1. 我可以创建扩展查看一个新类 - 我太新到Android真正理解这个选项。
  2. 我可以使用像键盘一样设计的新XML文件替换对话框中的EditText。

选项2:我想这可能是最简单的,所以我设计了XML布局并将其命名为keypad.xml。现在,当用户执行LongClick时,keypad.xml文件在OK和CANCEL对话框中膨胀。到现在为止还挺好。但是,我不知道应该在哪里放置按钮操作的代码。

首先想到的是,我想我可以设置一些onClick监听器,它是布局中的所有按钮。我认为所有按钮都将执行完全相同的功能。基本上,从按钮(在这种情况下为0-9)获取文本,并将其附加到键盘正上方的TextView。然后,当用户单击确定时,将keypad.xml中的T​​extView保存到当前得分textview。

任何人都可以帮助指出我在正确的方向来完成这个请吗?

这里是keypad.xml的屏幕截图(有数字上方的空的TextView): enter image description here

这里是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" /> 

回答

0

这个问题已经不似乎提示了一个回应。如果有人正在寻找答案,我已经提出了另一种解决方案,它不完全相同,但都能够起作用。

Please see this question.