這是我很簡單的問題:我得到一個NullPointerException當我嘗試修改佈局的onTabSelected(高度)
我得到一個NullPointerException當我嘗試修改onTabSelected佈局的高度() 。
下面是代碼:
import...
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
tab1.setTabListener(new MyTabListener(fragmentTabCustom));
actionBar.addTab(tab1);
}
...
public void changeFragmentTabCustom() {
runOnUiThread(new Runnable() {
@Override
public void run() {
layout1 = (LinearLayout) findViewById(R.id.layoutdefault);
layout1.getLayoutParams().height = 0; // the exception appends on this line
layout1.setLayoutParams(layout1.getLayoutParams());
}
}
}
...
}
public class MyTabListener implements ActionBar.TabListener {
...
@Override
public void onTabSelected(Tab tab, FragmentTransaction ft) {
mainActivity.changeFragmentTabCustom();
...
}
}
有什麼不對?
請問您可以添加更多的代碼片段。 –
檢查以確保'getLayoutParams'不返回空值。如果是這樣,你可以在調用get之前初始化一些東西。在這種情況下,請檢查文檔。 – Carcigenicate
聲明和使用該方法(onTabSelected)在哪裏?該錯誤很可能是由於layout1不屬於您的Activity的佈局的一部分。 – 2Dee