如果问题看起来非常明显,我很抱歉,但我是初学者,我想知道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);
}
});
}
}
再次感谢,
答案 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);
}
});
}
}