如何使用EditText中的文本?

时间:2014-07-12 16:10:05

标签: java android

我正在尝试制作一个基本的拨号器应用程序,其中包含一个包含用户输入数字的EditText,以及一个告诉应用程序拨打电话的按钮。 EditText的id是callNumber,而按钮id是callButton。我在MainActivity.java文件中放入什么来调用EditText中的数字?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    android:orientation="vertical" >

    <EditText
        android:id="@+id/callNumber"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/example" />

    <Button
        android:id="@+id/callButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/call" />

</LinearLayout>

package com.BigTooth.Apps.dialer;

import android.app.*;
import android.os.*;
import android.view.*;
import android.widget.*;
import android.app.Activity;
import android.content.Intent;
import android.net.Uri;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {

    private Button button;

    public void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        button = (Button) findViewById(R.id.callButton);

        // add button listener
        button.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View arg0) {

                    Intent callIntent = new Intent(Intent.ACTION_CALL);
                    callIntent.setData(Uri.parse("tel:"));
                    startActivity(callIntent);

                }

            });

    }
}

2 个答案:

答案 0 :(得分:1)

希望您已将EditTextButton放入fragment_main.xml

因此,请将此代码放入onCreateView

View rootView = inflater.inflate(R.layout.fragment_main, container,
                false);
EditText et=(EditText)rootView.findViewByID(callNumber);
Button b=(Button)rootView.findViewByID(callButton);
button.setOnClickListener(new OnClickListener() {           

   @Override
   public void onClick(View v) 
   {
       Intent callIntent = new Intent(Intent.ACTION_CALL);
       callIntent.setData(Uri.parse("tel:" + et.getText().toString()));
       startActivity(callIntent);
    }
}
return rootView;

还必须在Manifest中添加<uses-permission android:name="android.permission.CALL_PHONE" />

答案 1 :(得分:0)

EditText callNumber = (EditText)findViewById(R.id.callNumber);
String num = callNumber.getText().toString();
//this gets the number in edittext


@Override
            public void onClick(View arg0) {

                Intent callIntent = new Intent(Intent.ACTION_CALL);
                callIntent.setData(Uri.parse("tel:" + num));
                startActivity(callIntent);
            }

另外请不要忘记添加<uses-permission android:name="android.permission.CALL_PHONE" />

修改

实施OnClickListener

public class MainActivity extends Activity implements OnClickListener {

public class MainActivity extends Activity{交换此行。

相关问题