Android计算器小程序,怎么让输入的数值第一位数不为0

可可可可可可以 2017-10-07 09:48:03



MainActivity部分:


package com.example.jsq;

import android.app.Activity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends Activity implements OnClickListener{

private EditText et_show;
private Button[] bt_nnumbers = new Button[10];
private Button[] bt_ops = new Button[7];
private int[] bt_numbers_name = {R.id.button_0,R.id.button_1,R.id.button_2,R.id.button_3,R.id.button_4,R.id.button_5,R.id.button_6,R.id.button_7,R.id.button_8,R.id.button_9};
private int[] bt_ops_name = {R.id.button_c,R.id.button_chen,R.id.button_chu,R.id.button_dy,R.id.button_jia,R.id.button_jian,R.id.button_tuige};

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

et_show = (EditText)findViewById(R.id.editText1);

for(int i = 0;i < 10;i++)
bt_nnumbers[i] = (Button)findViewById(bt_numbers_name[i]);

for(int i = 0;i < 7;i++)
bt_ops[i] = (Button)findViewById(bt_ops_name[i]);

for(int i = 0; i < 10; i++)
bt_nnumbers[i].setOnClickListener(this);

}

@Override
public void onClick(View v) {
// TODO Auto-generated method stub
for(int i = 0;i < 10;i++)

if(v.getId()==bt_numbers_name[i])
et_show.setText(et_show.getText().toString() + i);
}
}



activity_main部分


<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.jsq.MainActivity" >

<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10" >

<requestFocus />
</EditText>

<TableRow
android:id="@+id/tableRow1"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<Button
android:id="@+id/button_c"
android:layout_width="0dp"
android:layout_weight="2"
android:layout_height="wrap_content"
android:background="@drawable/button_numbers"
android:layout_marginLeft="8dp"
android:layout_marginTop="15dp"
android:text="C" />

<Button
android:id="@+id/button_dy"
android:layout_width="0dp"
android:layout_weight="2"
android:layout_height="wrap_content"
android:background="@drawable/button_numbers"
android:layout_marginLeft="8dp"
android:layout_marginTop="15dp"
android:text="=" />

</TableRow>

<TableRow
android:id="@+id/tableRow2"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<Button
android:id="@+id/button_7"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:background="@drawable/button_numbers"
android:layout_marginLeft="8dp"
android:layout_marginTop="15dp"
android:text="7" />

<Button
android:id="@+id/button_8"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:background="@drawable/button_numbers"
android:layout_marginLeft="8dp"
android:layout_marginTop="15dp"
android:text="8" />

<Button
android:id="@+id/button_9"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:background="@drawable/button_numbers"
android:layout_marginLeft="8dp"
android:layout_marginTop="15dp"
android:text="9" />

<Button
android:id="@+id/button_chu"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:background="@drawable/button_numbers"
android:layout_marginLeft="8dp"
android:layout_marginTop="15dp"
android:text="÷" />

</TableRow>

<TableRow
android:id="@+id/tableRow3"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<Button
android:id="@+id/button_4"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:background="@drawable/button_numbers"
android:layout_marginLeft="8dp"
android:layout_marginTop="15dp"
android:text="4" />

<Button
android:id="@+id/button_5"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:background="@drawable/button_numbers"
android:layout_marginLeft="8dp"
android:layout_marginTop="15dp"
android:text="5" />

<Button
android:id="@+id/button_6"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:background="@drawable/button_numbers"
android:layout_marginLeft="8dp"
android:layout_marginTop="15dp"
android:text="6" />

<Button
android:id="@+id/button_chen"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:background="@drawable/button_numbers"
android:layout_marginLeft="8dp"
android:layout_marginTop="15dp"
android:text="×" />

</TableRow>

<TableRow
android:id="@+id/tableRow4"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<Button
android:id="@+id/button_1"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:background="@drawable/button_numbers"
android:layout_marginLeft="8dp"
android:layout_marginTop="15dp"
android:text="1" />

<Button
android:id="@+id/button_2"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:background="@drawable/button_numbers"
android:layout_marginLeft="8dp"
android:layout_marginTop="15dp"
android:text="2" />

<Button
android:id="@+id/button_3"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:background="@drawable/button_numbers"
android:layout_marginLeft="8dp"
android:layout_marginTop="15dp"
android:text="3" />

<Button
android:id="@+id/button_jian"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:background="@drawable/button_numbers"
android:layout_marginLeft="8dp"
android:layout_marginTop="15dp"
android:text="-" />

</TableRow>

<TableRow
android:id="@+id/tableRow5"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >

<Button
android:id="@+id/button_0"
android:layout_width="0dp"
android:layout_weight="2"
android:layout_height="wrap_content"
android:background="@drawable/button_numbers"
android:layout_marginLeft="8dp"
android:layout_marginTop="15dp"
android:text="0" />

<Button
android:id="@+id/button_tuige"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:background="@drawable/button_numbers"
android:layout_marginLeft="8dp"
android:layout_marginTop="15dp"
android:text="←" />

<Button
android:id="@+id/button_jia"
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:background="@drawable/button_numbers"
android:layout_marginLeft="8dp"
android:layout_marginTop="15dp"
android:text="+" />

</TableRow>

</TableLayout>

...全文
674 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq_43516933 2019-02-24
  • 打赏
  • 举报
回复
只要在输入数字的时候加个判断就好,java部分逻辑如下:
if(str.startWith("0"&&str.length()>0){
str=str.substring(1);
}
kirophl 2017-10-09
  • 打赏
  • 举报
回复
引用 5 楼 kirophl 的回复:
private TextWatcher mTextWatcher=new TextWatcher() {

@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
String text = s.toString(); 
int len = s.toString().length(); 
if (len == 1 && text.equals("0")) { 
s.clear(); 
}
}

@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}

@Override
public void afterTextChanged(Editable s) {
}
};
当然这个要限制输入法是数字输入法,要是汉字输入法可以一次输入多个数字,那要多写几行代码,累。
private TextWatcher mTextWatcher=new TextWatcher() {
 
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
 
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}
 
@Override
public void afterTextChanged(Editable s) {
String text = s.toString(); 
int len = s.toString().length(); 
if (len == 1 && text.equals("0")) { 
s.clear(); 
}
}
};
抱歉,弄错了,放在AFTER里。。。在change不能这么写,直接上网搜了一下,,,,,
kirophl 2017-10-09
  • 打赏
  • 举报
回复
private TextWatcher mTextWatcher=new TextWatcher() {

@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
String text = s.toString(); 
int len = s.toString().length(); 
if (len == 1 && text.equals("0")) { 
s.clear(); 
}
}

@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
}

@Override
public void afterTextChanged(Editable s) {
}
};
当然这个要限制输入法是数字输入法,要是汉字输入法可以一次输入多个数字,那要多写几行代码,累。
kirophl 2017-10-09
  • 打赏
  • 举报
回复
用ADDTEXTWATCHER,加个监听,在CHANGE的方法(记不住了,除了BEFORE和AFTER之外的方法),在方法中查看输入的字符串是1位不,是1位的话是0就不让输入,这个很常见,百度都能搜到
  • 打赏
  • 举报
回复
引用 1 楼 u013370255 的回复:
监听EditText的内容变化,1、字符处理,不停的截取第一个字符并判断是否为0,是就去掉再判断,不是就把内容附上EditText; 2、把EditText内容取处理,转int型,反正也就0-9,10个字符,完了吧内容把内容附上EditText
for循环判断?
  • 打赏
  • 举报
回复
for循环来判断吗
枸杞泡水 2017-10-08
  • 打赏
  • 举报
回复
监听EditText的内容变化,1、字符处理,不停的截取第一个字符并判断是否为0,是就去掉再判断,不是就把内容附上EditText; 2、把EditText内容取处理,转int型,反正也就0-9,10个字符,完了吧内容把内容附上EditText

80,337

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧