当我点击按钮时,我的意图是转到另一个Android页面。
我的java代码
public class CharSheets extends Activity implements OnClickListener{
Button Descrip, Atributes, Weapons, Skills, ACItems, Gear,
Feats, SpecialAbilities, Spells;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.charsheets);
setids();
}
private void setids() {
// TODO Auto-generated method stub
Descrip = (Button)findViewById(R.id.bCharDescrip);
}
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
switch(arg0.getId()) {
case R.id.bCharDescrip:
Intent i = new Intent(CharSheets.this, CharDescrip.class);
startActivity(i);
break;
case R.id.bCharAtributes:
Intent i1 = new Intent(CharSheets.this, CharAtributes.class);
startActivity(i1);
break;
}
}
}
XML mainfest
<activity
android:name=".CharAtributes"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.CHARSATRIBUTES" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
<activity
android:name=".CharDescrip"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.CHARDESCRIP" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
我不确定是什么导致了这个问题,但我尝试了其他解决方案,但都没有。我以前用过的方式我以前使用它并且工作得很好。
答案 0 :(得分:3)
您尚未将OnClickListener
应用于按钮。
private void setids() {
// TODO Auto-generated method stub
Descrip = (Button)findViewById(R.id.bCharDescrip);
Descrip.setOnClickListener(this); // <--- This line is required.
}
作为旁注,通常的做法是用小写字母命名变量,例如:记述
答案 1 :(得分:3)
您尚未为onClickListener()
Button
private void setids() {
// TODO Auto-generated method stub
Descrip = (Button)findViewById(R.id.bCharDescrip);
Descrip.setOnClickListener(this); // add this line
}
现在在此处添加您的其他Buttons
,并以相同的方式使用setOnClickListener()
。
答案 2 :(得分:2)
您应该在Button上设置OnClickListener。 。
private void setids() {
// TODO Auto-generated method stub
Descrip = (Button)findViewById(R.id.bCharDescrip);
Descrip.setOnClickListener(this);
}