当我按下按钮时,为了验证编辑文本制作吐司

时间:2015-03-11 07:05:38

标签: java android

我很累,尝试这个东西,可以帮我找出我的解决方案。 我尝试验证Edittext如果edittext归档为空,当我按下按钮时会显示一个Toast消息。

这是我的layout.xml

<RelativeLayout 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:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    android:paddingBottom="@dimen/activity_vertical_margin" tools:context=".MyActivity"
    android:id="@+id/relativeLayout">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Panjang"
        android:id="@+id/textView"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_gravity="right|left" />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:ems="20"
        android:id="@+id/editTextPanjang"
        android:layout_below="@+id/textView"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:maxLength="10"
        android:hint="Panjang"
        />
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Lebar"
        android:id="@+id/textView2"
        android:layout_below="@+id/editTextPanjang"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_gravity="right|left"
        />

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:ems="20"
        android:id="@+id/editTextLebar"
        android:layout_below="@+id/textView2"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:maxLength="10"
        android:hint="Lebar"
        />

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hitung Luas"
        android:id="@+id/buttonHitungLuas"
        android:layout_below="@+id/editTextLebar"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:onClick="hitugLuas"
        />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Luas"
        android:id="@+id/textView3"
        android:layout_below="@id/buttonHitungLuas"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"/>

    <EditText
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:inputType="number"
        android:ems="20"
        android:id="@+id/editTextLuas"
        android:layout_below="@id/textView3"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"/>

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/editTextLuas"
        android:id="@+id/buttonClear"
        android:text="@string/btn_clear"
        />
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/buttonClear"
        android:layout_below="@+id/editTextLuas"
        android:id="@+id/buttonExit"
        android:text="Exit"
        />

</RelativeLayout>

这是我的java

package com.example.aan.myfirstapp;


import android.content.Context;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;


public class MyActivity extends ActionBarActivity {
    private EditText edtPanjang;
    private EditText edtLebar;
    private EditText edtLuas;
    private Button btnHitungLuas;
    private Button btnClear;
    private Button btnExit;

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

    }
    private void initUI(){
        edtPanjang = (EditText) findViewById(R.id.editTextPanjang);
        edtLebar = (EditText) findViewById(R.id.editTextLebar);
        edtLuas = (EditText) findViewById(R.id.editTextLuas);
        btnHitungLuas = (Button) findViewById(R.id.buttonHitungLuas);
        btnClear = (Button) findViewById(R.id.buttonClear);
        btnExit = (Button) findViewById(R.id.buttonExit);
    }

    private void initEvent() {
        btnHitungLuas.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                hitungLuas();
            }
    }
  btnClear.setOnClickListener(new  View.OnClickListener() {
            @Override
            public void onClick(View v) {
                clearData();
            }
        });
        btnExit.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View paramView) {
                MyActivity.this.finish();
            }
        });
    }


    private void hitungLuas(){
        int panjang = Integer.parseInt(edtPanjang.getText().toString());
        int lebar = Integer.parseInt(edtLebar.getText().toString());
        int luas = panjang*lebar;
        edtLuas.setText(luas+"");
    }

    private void clearData(){
        edtLuas.setText("");
        edtLebar.setText("");
        edtPanjang.setText("");
    }
@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.menu_my, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
}

Sory因为我的英语不好

运行模拟器时

记录聊天

03-12 09:29:21.784    1710-2323/com.google.process.gapps E/Backup﹕ [LegacyBackupAccountManager] Fail to get legacy transport context.
    android.content.pm.PackageManager$NameNotFoundException: Application package com.google.android.backup not found
            at android.app.ContextImpl.createPackageContextAsUser(ContextImpl.java:2139)
            at android.app.ContextImpl.createPackageContext(ContextImpl.java:2115)
            at android.content.ContextWrapper.createPackageContext(ContextWrapper.java:658)
            at com.google.android.gms.backup.am.<init>(SourceFile:47)
            at com.google.android.gms.backup.a.a(SourceFile:65)
            at com.google.android.gms.backup.c.a(SourceFile:39)
            at com.google.android.gms.backup.b.a(SourceFile:67)
            at com.google.android.gms.backup.b.a(SourceFile:39)
            at com.google.android.gms.backup.BackupAccountNotifierService.onHandleIntent(SourceFile:76)
            at android.app.IntentService$ServiceHandler.handleMessage(IntentService.java:65)
            at android.os.Handler.dispatchMessage(Handler.java:102)
            at android.os.Looper.loop(Looper.java:135)
            at android.os.HandlerThread.run(HandlerThread.java:61)

2 个答案:

答案 0 :(得分:1)

你需要以这种方式处理onClick按钮并在edittext为空时显示一个toast

if(editText.getText().toString().trim().length()==0){
Toast.makeText(getApplicationContext(), "field is empty", 
   Toast.LENGTH_LONG).show();
}else{
//your code here
}

答案 1 :(得分:1)

如果您想检查空EditText ..请尝试TextUtils

示例

    if (TextUtils.isEmpty(edtText.getText().toString().trim())) {
        Toast.makeText(getBaseContext(),
            "Empty", Toast.LENGTH_SHORT)
            .show();
    } else {
        Toast.makeText(getBaseContext(),
            "Not Empty", Toast.LENGTH_SHORT)
            .show();
    }