package com.example.dialer;
import android.os.Bundle;
import android.R.string;
import android.app.Activity;
import android.content.Context;
import android.content.res.Resources;
import android.text.Selection;
import android.text.Spannable;
import android.view.Gravity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.View.OnLongClickListener;
import android.view.ViewGroup.LayoutParams;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.Toast;public class MainActivity extends Activity { private EditText et;
private Button btn0, btn1, btn2, btn3, btn4, btn5, btn6, btn7, btn8, btn9;
private Button btn11,btn12;
private LinearLayout llMainView;
private View mView;
private StringBuffer input;
private int length;

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

InitView();
}

private void InitView()
{
et = (EditText) findViewById(R.id.tv1);
btn0 = (Button) mView.findViewById(R.id.btn0);
btn1 = (Button) mView.findViewById(R.id.btn1);
btn2 = (Button) mView.findViewById(R.id.btn2);
btn3 = (Button) mView.findViewById(R.id.btn3);
btn4 = (Button) mView.findViewById(R.id.btn4);
btn5 = (Button) mView.findViewById(R.id.btn5);
btn6 = (Button) mView.findViewById(R.id.btn6);
btn7 = (Button) mView.findViewById(R.id.btn7);
btn8 = (Button) mView.findViewById(R.id.btn8);
btn9 = (Button) mView.findViewById(R.id.btn9);
// 数字特殊键
btn11 = (Button) mView.findViewById(R.id.btn11);//变色
btn12 = (Button) mView.findViewById(R.id.btn12);//删除
}
public void onClick(View v)
{
switch (v.getId())
{
case R.id.btn1:
case R.id.btn2:
case R.id.btn3:
case R.id.btn4:
case R.id.btn5:
case R.id.btn6:
case R.id.btn7:
case R.id.btn8:
case R.id.btn9:
toInput((Button) v);
break;
case R.id.btn0:
input = new StringBuffer();
input.append(btn0.getText().toString());
et.setText(input.toString());
break;
case R.id.btn12:
toDelete();
break;
default:
break;
}
// 确定光标的位置在最后边
CharSequence text = et.getText();
Selection.setSelection((Spannable) text, text.length());
}
// 用于长按某一按钮时情况EditText
private void toDelete()
{
length = input.length();
if (length > 0)
{
input = input.deleteCharAt(input.length() - 1);
et.setText(input);
}
} // 用于点击按钮输入
private void toInput(Button btn)
{
input.append(btn.getText().toString());
et.setText(input.toString());
}

// 长按del键,清空EditText
private OnLongClickListener mListener = new OnLongClickListener()
{ @Override
public boolean onLongClick(View v)
{
int length = input.length();
if (length > 0)
{
input.delete(0, input.length() - 1);
et.setText(input);
}
return false;
}
};

@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}}

解决方案 »

  1.   

    <TableLayout 
        android:id="@+id/TableLayout01"
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_gravity="bottom"
        >   <EditText
           android:id="@+id/tv1"
           android:layout_width="320dip"
           android:layout_height="wrap_content"
           android:layout_weight="1.00"
           android:hint="@string/text" 
           android:gravity="right"
           android:phoneNumber="true"/>
       
       <TableRow android:id="@+id/TableRow01"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           >
           <Button
               android:id="@+id/btn1"
               android:layout_width="100dip"
               android:layout_height="wrap_content"
               android:layout_weight="1"
               android:onClick="myclick"
               android:text="@string/btn1" />
       
          <Button
               android:id="@+id/btn2"
               android:layout_width="100dip"
               android:layout_height="wrap_content"
               android:layout_weight="1"
               android:onClick="myclick"
               android:text="@string/btn2" />
          
          <Button
               android:id="@+id/btn3"
               android:layout_width="100dip"
               android:layout_height="wrap_content"
               android:layout_weight="1"
               android:onClick="myclick"
               android:text="@string/btn3" />
          </TableRow>
       
       <TableRow android:id="@+id/TableRow02"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           >
           <Button
               android:id="@+id/btn4"
               android:layout_width="100dip"
               android:layout_height="wrap_content"
               android:layout_weight="1"
               android:onClick="myclick"
               android:text="@string/btn4" />
       
          <Button
               android:id="@+id/btn5"
               android:layout_width="100dip"
               android:layout_height="wrap_content"
               android:layout_weight="1"
               android:onClick="myclick"
               android:text="@string/btn5" />
          
          <Button
               android:id="@+id/btn6"
               android:layout_width="100dip"
               android:layout_height="wrap_content"
               android:layout_weight="1"
               android:onClick="myclick"
               android:text="@string/btn6" />
          </TableRow>
          
       <TableRow android:id="@+id/TableRow03"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           >
           <Button
               android:id="@+id/btn7"
               android:layout_width="100dip"
               android:layout_height="wrap_content"
               android:layout_weight="1"
               android:onClick="myclick"
               android:text="@string/btn7" />
       
          <Button
               android:id="@+id/btn8"
               android:layout_width="100dip"
               android:layout_height="wrap_content"
               android:layout_weight="1"
               android:onClick="myclick"
               android:text="@string/btn8" />
          
          <Button
               android:id="@+id/btn9"
               android:layout_width="100dip"
               android:layout_height="wrap_content"
               android:layout_weight="1"
               android:onClick="myclick"
               android:text="@string/btn9" />
          </TableRow>
          
       <TableRow android:id="@+id/TableRow04"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           >
           <Button
               android:id="@+id/btn11"
               android:layout_width="100dip"
               android:layout_height="wrap_content"
               android:layout_weight="1"
               android:onClick="myclick"
               android:text="@string/btn11" />
       
          <Button
               android:id="@+id/btn0"
               android:layout_width="100dip"
               android:layout_height="wrap_content"
               android:layout_weight="1"
               android:onClick="myclick"
               android:text="@string/btn0" />
          
          <Button
               android:id="@+id/btn12"
               android:layout_width="100dip"
               android:layout_height="wrap_content"
               android:layout_weight="1"
               android:onClick="myclick"
               android:text="@string/btn12" />
          </TableRow>
          
       
    </TableLayout>
      

  2.   

    我晕,下面的语句中mView在哪里初始化的呀??
    btn0 = (Button) mView.findViewById(R.id.btn0);
      

  3.   

    Do you have that particular class in that particular activity ?
      

  4.   

    你好! 是空指针错误,没有初始化对象  类对象声明之后要用之前赋值  你双击Caseby的下面的一行就会定位到错误的具体位置。仔细看看