抱歉,我是android的新手
我有2个 EditTexts 和1个按钮当我按下按钮时会打印EditTexts的值,但我会给出错误
XML:
<Button
android:id="@+id/submit"
android:layout_width="212dp"
android:layout_height="wrap_content"
android:layout_x="52dp"
android:layout_y="337dp"
android:text="@string/Submit"
android:onClick="submit" />
<EditText
android:id="@+id/quantity"
android:layout_width="182dp"
android:layout_height="wrap_content"
android:layout_x="9dp"
android:layout_y="86dp"
android:ems="10" />
<EditText
android:id="@+id/Unit"
android:layout_width="182dp"
android:layout_height="wrap_content"
android:layout_x="11dp"
android:layout_y="15dp"
android:ems="10" >
<requestFocus />
</EditText>
Java类是:
public class add extends Activity
{
private static String[] montharray;
Button mButton;
EditText Unit;
EditText quantity;
private int days;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.add);
Unit =(EditText) findViewById(R.id.unit);
quantity =(EditText) findViewById(R.id.quantity);
mButton =(Button) findViewById(R.id.submit);
}
public void submit(View view)
{
System.out.println("Unit= "+Unit.getText().toString()+" quantity= "+quantity.getText().toString());
}
}
这是thr错误:
05-16 15:37:35.857: E/AndroidRuntime(17951): FATAL EXCEPTION: main
05-16 15:37:35.857: E/AndroidRuntime(17951): java.lang.IllegalStateException: Could not execute method of the activity
...
05-16 15:37:35.857: E/AndroidRuntime(17951): Caused by: java.lang.NullPointerException
05-16 15:37:35.857: E/AndroidRuntime(17951): at net.learn2develop.UsingIntent.add.submit(add.java:56)
我启动所有对象, java.lang.NullPointerException 是什么?
答案 0 :(得分:1)
id是区分大小写的......
你应该这样做:findViewById(R.id.Unit);
答案 1 :(得分:0)
Unit
在此大写
<EditText
android:id="@+id/Unit"
android:layout_width="182dp"
android:layout_height="wrap_content"
android:layout_x="11dp"
android:layout_y="15dp"
android:ems="10" >
但不在您的代码中
Unit =(EditText) findViewById(R.id.unit);
您应该在xml中将其更改为小写。此外,您应遵循命名约定的标准。类名应该是camelcased(所有单词都以大写字母开头),变量名应该是mixcase(以小写开头,大写后跟单词,String mixedCase;
)这不是必要的,但它很可能会让你在将来感到悲伤。它还使其他人更容易理解你拥有的东西。