woouboy 2013-08-23 14:38 采纳率: 0%
浏览 2273
已采纳

android为什么我照样画葫芦总是会出错!!想不通~~高手帮忙

logcat如下:
08-23 14:32:32.586: W/KeyCharacterMap(335): No keyboard for id 0
08-23 14:32:32.586: W/KeyCharacterMap(335): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
08-23 14:32:41.207: D/AndroidRuntime(335): Shutting down VM
08-23 14:32:41.207: W/dalvikvm(335): threadid=1: thread exiting with uncaught exception (group=0x40015560)
08-23 14:32:41.227: E/AndroidRuntime(335): FATAL EXCEPTION: main
08-23 14:32:41.227: E/AndroidRuntime(335): java.lang.ClassCastException: android.widget.Button
08-23 14:32:41.227: E/AndroidRuntime(335): at com.example.android_4_2.MainActivity$1.onClick(MainActivity.java:28)
08-23 14:32:41.227: E/AndroidRuntime(335): at android.view.View.performClick(View.java:2485)
08-23 14:32:41.227: E/AndroidRuntime(335): at android.view.View$PerformClick.run(View.java:9080)
08-23 14:32:41.227: E/AndroidRuntime(335): at android.os.Handler.handleCallback(Handler.java:587)
08-23 14:32:41.227: E/AndroidRuntime(335): at android.os.Handler.dispatchMessage(Handler.java:92)
08-23 14:32:41.227: E/AndroidRuntime(335): at android.os.Looper.loop(Looper.java:123)
08-23 14:32:41.227: E/AndroidRuntime(335): at android.app.ActivityThread.main(ActivityThread.java:3683)
08-23 14:32:41.227: E/AndroidRuntime(335): at java.lang.reflect.Method.invokeNative(Native Method)
08-23 14:32:41.227: E/AndroidRuntime(335): at java.lang.reflect.Method.invoke(Method.java:507)
08-23 14:32:41.227: E/AndroidRuntime(335): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
08-23 14:32:41.227: E/AndroidRuntime(335): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
08-23 14:32:41.227: E/AndroidRuntime(335): at dalvik.system.NativeStart.main(Native Method)

代码如下:
import android.net.Uri;
import android.os.Bundle;
import android.R.string;
import android.app.Activity;
import android.content.Intent;
import android.telephony.PhoneNumberUtils;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button bCall = (Button)findViewById(R.id.TelBtn);
    bCall.setOnClickListener(
            new View.OnClickListener() {

                @Override
                public void onClick(View v) {
                    // TODO 自动生成的方法存根
                    EditText telnum =(EditText)findViewById(R.id.TelBtn);
                    String telNum = telnum.getText().toString();
                    if (PhoneNumberUtils.isGlobalPhoneNumber(telNum)) {
                        Intent i = new Intent(Intent.ACTION_DIAL,Uri.parse(
                                "tel://"+telNum));
                        MainActivity.this.startActivity(i);
                    } else {
                        Toast.makeText(MainActivity.this, "号码不正确", 5000).show();

                    }
                }
            }
            );
}

真的要把我弄疯了。。这让怎么学习啊~!希望大家帮忙,万分感谢。。

  • 写回答

2条回答

  • JaveZh 2013-08-23 20:51
    关注
    EditText telnum =(EditText)findViewById(R.id.TelBtn);
    

    这句错误,R.id.TelBtn这个指向的是个button应该

    Button bCall = (Button)findViewById(R.id.TelBtn);
    

    你看这句,你两个id都是一样的,你应该EditText指向的就为布局文件的的EditText
    你这边指向了button,所以出现强制转换异常

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料