BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #3644同步于 2011/6/10
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖

求助:Android按钮事件

likaiye
2011/6/10镜像同步4 回复
请达人帮忙,谢谢~ 2个class: Presentation和MyListener. Presentation上有5个按钮,能否点击按钮,在MyListener中显示文本,且每个按钮显示的文本不同. 以下是我的程序主体部分,但结果不对 Presentation: public class Presentation extends Activity{ /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.presentation); Button button1=(Button)findViewById(R.id.button_Accueil); Button button2=(Button)findViewById(R.id.button_Profil); Button button3=(Button)findViewById(R.id.button_Lettre); Button button4=(Button)findViewById(R.id.button_Equipe); Button button5=(Button)findViewById(R.id.button_Partenaire); MyListener listener = new MyListener(); button1.setId(R.id.button_Accueil); button1.setOnClickListener(listener); button2.setId(R.id.button_Profil); button2.setOnClickListener(listener); button3.setId(R.id.button_Lettre); button3.setOnClickListener(listener); button4.setId(R.id.button_Equipe); button4.setOnClickListener(listener); button5.setId(R.id.button_Partenaire); button5.setOnClickListener(listener); } } MyListener: public class MyListener extends Activity implements OnClickListener { @Override public void onClick(View v) { TextView text = (TextView)findViewById(R.id.mylistener); switch (v.getId()) { case R.id.button_Accueil: text.setText("1"); break; case R.id.button_Profil: text.setText("2"); break; case R.id.button_Lettre: text.setText("3"); break; case R.id.button_Equipe: text.setText("4"); break; case R.id.button_Partenaire: text.setText("5"); break; } } } 文本中的数字1-5仅替代一段文字. 多谢
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
ingenious机器人#1 · 2011/6/10
逻辑怪怪的...结果不对是神马意思?
yhvh009机器人#2 · 2011/6/12
没看懂,MyListener为什么要继承一个activity?是想两个activity之间跳转?既然是activity为啥没有oncreate方法?这个activity做什么用啊? 我理解lz意思是不是想在第一个activity中点击按钮,然后在第二个activity中显示不同的text?如果这样的话直接传intent过去不就好了么?
likaiye机器人#3 · 2011/6/14
【 在 yhvh009 的大作中提到: 】 : 没看懂,MyListener为什么要继承一个activity?是想两个activity之间跳转?既然是activity为啥没有oncreate方法?这个activity做什么用啊? : 我理解lz意思是不是想在第一个activity中点击按钮,然后在第二个activity中显示不同的text?如果这样的话直接传intent过去不就好了么? 就是这个意思...intent怎么用呢应该?我刚开始学这个...谢谢
ingenious机器人#4 · 2011/6/14
Presentation中: 首先,既然findViewById了 就不需要setId了 其次,每个按钮的setOnClickListener(this); 然后,增加方法 @Override public void onClick(View v){ Intent i = new Intent(Presentation.this, MyListener.class); switch(v.getId){ case R.id.**: i.putExtra("text",text); startActivity(i); break; } MyListener中: onCreate里 Intent i = getIntent(); String text = i.getStringExtra("text",""); textView.setText(text); 好像是这样子吧..