2015-08-24 41 views
0

我是新来的android编程,有几件事情我不知道该怎么做。我正在参加一个关于udemy的课程,并试图将我学到的一切都放到一起。
我想要做的是让用户点击一个按钮(我有12),并让它弹出一个textField,他们可以输入两个数字。我只是想能够得到用户的两个数字,我很确定我可以找出其余的(我希望)。我只是不明白如何去做这件事。 任何帮助将不胜感激。基本上我想要做的就是让用户点击12个按钮中的一个,并被要求输入两个值,然后取这些值并对其进行计算。如何通过单击按钮打开texField?

+0

能否请您发表您的活动XML呢? – Geetha

回答

0

你的XML可能是这样的:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" > 

    <Button android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:id="@+id/b_ok" 
     android:text="Click Me"/> 

    <EditText android:layout_width="fill_parent" 
     android:layout_height="match_parent" 
     android:visibility="invisible" 
     android:id="@+id/et_showme"/> 

</LinearLayout> 

和您的活动可能是这样的:

package com.william.kinaan.welcomeback; 

import android.app.Activity; 
import android.os.Bundle; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.Button; 
import android.widget.EditText; 

public class Test1 extends Activity implements OnClickListener { 

    private Button b_ok; 
    private EditText et_showme; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.test1); 
     initialize(); 
    } 

    private void initialize() { 
     this.b_ok = (Button) findViewById(R.id.b_ok); 
     this.b_ok.setOnClickListener(this); 
     this.et_showme = (EditText) findViewById(R.id.et_showme); 
    } 

    @Override 
    public void onClick(View v) { 
     this.et_showme.setVisibility(View.VISIBLE); 
    } 
} 
+0

谢谢你这似乎工作。你能解释一下“initialize();”如果你不介意的话。 –

+0

@NarainRamjieawan'initialize()'是一个自定义的方法来定义你的视图对象(在这种情况下,按钮和编辑文本)。并且它还将该按钮的侦听器设置为当前类。我通常更喜欢使用自定义的初始化方法来使代码更清晰。 –

0

创建一个具有2个EditTexts 的活动当用户点击一个按钮,该活动已启动,用户可以输入数字

+0

对不起,但我不太明白你的意思。你能否详细说明一下? –

+0

创建用户单击按钮时打开的活动。活动内部是用户输入数字并处理它的地方。你也只需要有一个活动,但创建基于点击的按钮键入数字用户执行不同的过程。 – Want2bExpert

0

试试这个。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:paddingLeft="16dp" 
    android:paddingRight="16dp" > 

<EditText 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:id="@+id/tv_id" 
    android:visibility="invisible" 
    android:text="sample text"/> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="click" 
     android:id="@+id/click" 
     android:layout_alignParentTop="true" 
     android:layout_centerHorizontal="true" /> 
</RelativeLayout> 

而在你的活动中,你可以这样做。

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_test); 

     Button button = (Button) findViewById(R.id.click); 
     final EditText text = (EditText) findViewById(R.id.tv_id); 

     button.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       text.setVisibility(View.VISIBLE); 
      } 
     }); 
    } 
+0

嗯所以对于每个按钮我都必须拥有“EditText”字段? –

+0

只要你可以单独处理每个按钮点击的用户输入,你可以有一个EditText并用于多个按钮。 – Geetha

+0

我试过你的代码示例,当我单击按钮时什么也没有发生: –