2015-08-24 69 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

我試過你的代碼示例,當我單擊按鈕時什麼也沒有發生: –