2015-12-21 124 views
-3

我需要一個android button中的按鈕。我需要顯示的是,當按鈕被單擊時,它顯示TextView字段textView中的字符1。 所以這裏是我的java代碼。在按鈕上不執行任何操作單擊:Android

package com.example.kartikeya; 


import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 

public class MainActivity extends AppCompatActivity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
} 
public void buttonOnClick(){ 
    Button button = (Button) findViewById(R.id.button); 
    final TextView textView = (TextView) findViewById(R.id.textView); 

    button.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      textView.setText(textView.getText() + "" + 1); 
     } 
    }); 
} 

這是我activity_main.xml中文件

<?xml version="1.0" encoding="utf-8"?> 

<Button 
    android:text="@string/button" 
    android:id="@+id/button" 
    android:textColor="#0A0A0A" 
    android:textSize="25sp" 

    android:layout_width="80dp" 
    android:layout_height="80dp" 
    android:background="@drawable/buttonshape" 
    android:shadowColor="#A8A8A8" 

    android:layout_below="@+id/textView" 
    android:layout_alignParentLeft="true" 
    android:layout_alignParentStart="true" 
    android:layout_marginTop="10dp" 
    android:clickable="true" 
    android:contentDescription="@string/click1" 
    android:contextClickable="true" /> 

<Button 

回答

4

你忘記打電話給你的方法。 buttonOnClick();

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 
    buttonOnClick(); 
} 
+0

+1,不過我會移動方法的代碼在'的onCreate()'方法,或者調用它像'setupButton()'這裏。 –

+0

@BenjaminScharbau同意,或更改名稱爲'initButton();' –

3

嘗試這種方式

public class MainActivity extends AppCompatActivity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    Button button = (Button) findViewById(R.id.button); 
    final TextView textView = (TextView) findViewById(R.id.textView); 

    button.setOnClickListener(new View.OnClickListener() { 
    public void onClick(View v) { 
     textView.setText(textView.getText() + "" + 1); 
    } 
    }); 
} 
0

你已經錯過了在activity.xml文件中的文本視圖。

0

你從來沒有叫這個機能的研究... buttonOnClick()

+0

這不提供問題的答案。要批評或要求作者澄清,在他們的帖子下留下評論 - 你總是可以評論你自己的帖子,一旦你有足夠的[聲譽](http://stackoverflow.com/help/whats-reputation),你會能夠[評論任何帖子](http://stackoverflow.com/help/privileges/comment)。 - [來自評論](/ review/low-quality-posts/10636352) –

+0

@DamianKozlak爲什麼不呢?你見過其他答案嗎? – Trilarion

+0

@chichiangho在審查期間,我只看到問題和答案。我沒有看到別人的答案。你的答案看起來很簡單,沒有更多的解釋他應該這樣做,所以有人將其標記爲低質量答案。現在我也看到了,你重複了伯凱的回答。 –

0

在MainActivity寫下面的代碼。

public class MainActivity extends AppCompatActivity { 
Button button; 
protected void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.activity_main); 
button = (Button) findViewById(R.id.clickBtn); 
TextView textView = (TextView) findViewById(R.id.textView); 
button.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      textView.setText(textView.getText() + "" + 1); 
     } 
    }); 
} 
} 

activity_main.xml中

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" > 
<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignParentTop="true" 
    android:id="@+id/textView" 
    android:textSize="30sp"/> 
<Button 
    android:layout_width="100dp" 
    android:layout_height="100dp" 
    android:id="@+id/clickBtn" 
    android:layout_centerInParent="true" 
    android:text = "click me"/> 
</RelativeLayout> 
相關問題