Android上的findViewById()上的NullPointerException

在下面的代码中,我用findViewById()获得了第9/10行的NullPointerException。
在我的主类中,我刚从这个类实例化一个对象,使用.getFrom()

public class UserInteraction extends Activity { EditText etFrom; int from; EditText etTill; int till; public UserInteraction(){ etFrom = (EditText)findViewById(R.id.et_from); etTill = (EditText)findViewById(R.id.et_till); } public int getFrom() { String s = etFrom.getText().toString(); int i = Integer.parseInt(s); return i; } public int getTill() { String s = etTill.getText().toString(); int i = Integer.parseInt(s); return i; } 

是不是contentView被设置在我的主类..? 可能是什么原因 ?

Solutions Collecting From Web of "Android上的findViewById()上的NullPointerException"

调用findViewById 之前,应使用适当的布局调用setContentView方法。 它通常在onCreate(Bundle savedInstance)方法中调用。

您必须从您的Activity的onCreate方法中调用它,因为在此之前资源将不可用。

所以扩展MByD的答案,在你的onCreate方法中,首先调用setContentView(),然后findViewById()。

首先,你应该调用setContentView(int布局) ,以便设置你的Activity的内容,然后你可以得到你的Views(findViewById(int id));

所以你的活动将是这样的:

 public class UserInteraction extends Activity { EditText etFrom; int from; EditText etTill; int till; public void onCreate(Bundle savedInstance{ super.onCreate(saveInstance); this.setContentView(R.layout.main); etFrom = (EditText)findViewById(R.id.et_from); etTill = (EditText)findViewById(R.id.et_till); } 

}