为什么findViewById会抛出NULL异常?这是布局和源代码文件:
<RelativeLayout
...
tools:context=".MainActivity" >
<TextView
android:id="@+id/usernameText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</RelativeLayout>
以下是MainActivity中的源代码:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try{
TextView text=(TextView)MainActivity.this.findViewById(R.id.usernameText);
text.setText(10);
}catch(Exception e){
Log.i("Log", e.getMessage()+"Error!"); // LogCat message
}
}
然而,findViewById()
返回null,我甚至不知道为什么。本守则非常简单。
答案 0 :(得分:6)
text.setText(10);
通过这种方式,您正在寻找String
id = 10;
您应该更改
text.setText(String.valueOf(10));
答案 1 :(得分:0)
使用此代码................
public class MainActivity extends Activity {
TextView text;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text =(TextView)findViewById(R.id.usernameText);
try{
text.setText(String.valueOf(10));
}catch(Exception e){
Log.i("Log", e.getMessage()+"Error!"); // LogCat message
}
}
@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;
}
}