如何使用Button更改TextView

时间:2014-07-04 08:41:28

标签: android button textview

如果问题看起来非常明显,我很抱歉,但我是初学者,我想知道Android是如何工作的。

我要做的是编辑一个带有两个按钮(1& 2)的小虚拟打击垫。

是否可以在onCreate()方法中使用setOnClickButton()更改应显示用户键入内容的TextView

我问的是因为我已经在其他stackoverflow主题中读到onCreate()方法一劳永逸地创建活动,并且通过在里面引入代码不可能多次更新它onCreate()方法。

这是我的代码:

public class MainActivity extends Activity {
Button button1;
Button button2;

public void arrayToString(ArrayList<String> toto, String tota){
    for (String s : toto)
    {
        tota += s + " ";
    }
}


@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);


    setContentView(R.layout.activity_main);

    final ArrayList<String> displayList = new ArrayList<String>();
    final String displayString = "";


    final TextView displayTextView = (TextView)findViewById(R.id.screen1);

    Button button1 = (Button)findViewById(R.id.one);
    Button button2 = (Button)findViewById(R.id.two);


    button1.setOnClickListener( new OnClickListener(){
        public void onClick(View v){
            displayList.add("1");
            arrayToString(displayList,displayString);
            displayTextView.setText(displayString);
        }    
    });

    button2.setOnClickListener( new OnClickListener(){
        public void onClick(View v){
            displayList.add("2");
            arrayToString(displayList,displayString);
            displayTextView.setText(displayString);
        }    
    });  
}
}

再次感谢,

3 个答案:

答案 0 :(得分:1)

顾名思义,点击次数为OnClickListener“ LISTENS ”。因此,每次单击该按钮时,都会执行onClick()内的代码。因此,每次按下按钮>时,displayWxtView.setText(displayString)都会运行

答案 1 :(得分:0)

你的代码没问题。您为每个按钮定义了两个按钮并设置了OnClickListener。按下按钮时执行代码。 onClickListener中的代码与onCreate()的定义无关。

答案 2 :(得分:0)

请尝试以下代码

public class MainActivity extends Activity {
    Button button1;
    Button button2;

    public String arrayToString(ArrayList<String> toto){
        String tota = "";
        for (String s : toto)
        {
            tota += s + " ";
        }
        retrun tota;
    }


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);


        setContentView(R.layout.activity_main);

        final ArrayList<String> displayList = new ArrayList<String>();
        String displayString = "";


        final TextView displayTextView = (TextView)findViewById(R.id.screen1);

       button1 = (Button)findViewById(R.id.one);
       button2 = (Button)findViewById(R.id.two);


button1.setOnClickListener( new OnClickListener(){
    public void onClick(View v){
        displayList.add("1");
        displayString = arrayToString(displayList);
        displayTextView.setText(displayString);
    }    
});

button2.setOnClickListener( new OnClickListener(){
    public void onClick(View v){
        displayList.add("2");
        displayString = arrayToString(displayList);
        displayTextView.setText(displayString);
    }    
});




}
}