我开始使用Android应用,但我需要一些帮助。
我有一个Textview和两个按钮+1和-1。当您按下+1时,我的文本视图中应该是1
,而-1按钮则相反。我找不到我的错误。
这是我的代码。
Activity.java
package tbj.android.basketballstatistik;
public class MainActivity extends Activity implements OnClickListener {
TextView toPtGoalField;
Button plus;
Button minus;
String oper = "";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textview= (TextView) findViewById(R.id.textview);
plus= (Button) findViewById(R.id.plus);
minus= (Button) findViewById(R.id.minus);
plus.setOnClickListener(this);
minusinus.setOnClickListener(this);
public void onClick(View v) {
float textview= 0;
textview= Float.parseFloat(this.textview.getText().toString());
switch (v.getId()) {
case R.id.plus:
oper = "+";
textview= 1+textview;
textview.setText(1+ textview);
break;
case R.id.minus:
oper = "-";
textview= textview- 1;
break;
default:
break;
}
}
}
修改 得到它与你的帮助使用此代码
public void onClick(View v) {
switch (v.getId()) {
case R.id.plus:
if (count == 0 || count == -1) {
count++;
textview.setText("" + count);
}
break;
case R.id.minus:
if (count == 0 || count == 1) {
count--;
textview.setText("" + count);
}
break;
default:
break;
}
}
}
答案 0 :(得分:1)
查看以下代码是否解决了您的问题:
package tbj.android.basketballstatistik;
public class MainActivity extends Activity implements OnClickListener {
TextView toPtGoalField;
Button plus;
Button minus;
String oper = "";
int counter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
textview= (TextView) findViewById(R.id.textview);
plus= (Button) findViewById(R.id.plus);
minus= (Button) findViewById(R.id.minus);
textview.setText("0");
count = 0;
plus.setOnClickListener(this);
minusinus.setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()) {
case R.id.plus:
if (count == 0 || count == -1) {
count++;
textview.setText("" + count);
}
break;
case R.id.minus:
if (count == 0 || count == 1) {
count--;
textview.setText("" + count);
}
break;
default:
break;
}
}
}
上面的代码以增量方式更改textview的状态。例如,如果当前状态为1
,则点击minus
会将textview值设置为0
。再次点击minus
会将其值设置为-1
。对minus
的后续点击将被忽略。如果您希望文本框在按下1
时显示plus
,并在按下-1
时显示minus
,请将switch语句替换为:
switch (v.getId()) {
case R.id.plus:
textview.setText("1");
break;
case R.id.minus:
textview.setText("-1");
break;
default:
break;
}
在这种情况下,请删除count
变量,因为它没有用处。
答案 1 :(得分:1)
是的,我认为vikram代码可以解决你的代码问题,一旦你将你的设置增加到textview,这是在本地声明你不是指你在onCreate()中创建的textview;