我在android中再次遇到findViewById问题.我的Activity永远不会退出while循环,因为listview始终为null.我已经尝试过重建了.我知道onFinishedInflating方法的视图,但它对我的Activity没有帮助.
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.list_with_compass);
ListWithCompassView lv = (ListWithCompassView) this.findViewById(R.id.compass_list);
while(lv == null) {
Log.d("waiting", "waiting1");
lv = (ListWithCompassView) this.findViewById(R.id.compass_list);
}
this.setListView();
}
Run Code Online (Sandbox Code Playgroud)
这是XML:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:id="@+id/linear_layout_compass" android:layout_width="fill_parent" android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android">
<karsunke.view.ListWithCompassView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/compass_list">
</karsunke.view.ListWithCompassView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
将此构造函数添加到自定义视图类中.
public ListWithCompassView(Context context, AttributeSet attrs) {
super(context, attrs);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2618 次 |
| 最近记录: |