0
我是Android Java開發人員的初學者,所以我不確定我是否最好地描述了這個問題。Android在外部創建自定義視圖onCreate
反正我已經在OnCreate函數創建一個Tileview(參見:https://github.com/moagrius/TileView),並將此Tileview到自定義的RelativeLayout如下:
TileView tileView = new TileView(this);
...
((RelativeLayout) findViewById(R.id.rootView)).addView(tileView);
這一切的偉大工程。我也有一個抽屜菜單,將放置位置。這個想法是,你可以點擊位置的菜單時,Tileview將滑動和縮放到現貨:
tileView.slideToAndCenterWithScale(1000, 1000, (float) 0.4);
這工作,但我只能用我的tileView功能的onCreate裏面。我可以公開這個視圖還是以某種方式將它稱爲此功能?
我已經試過了我的抽屜菜單什麼是得到的觀點:
TileView tileView = (TileView) findViewById(R.id.rootView);
這並不是因爲「意外投給TileView工作,可能是因爲它是一個RelativeLayout的。我應該如何獲得在onCreate中創建的TileView?
整個抽屜菜單功能:
@Override
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
TileView tileView = (TileView) findViewById(R.id.rootView);
if (id == R.id.nav_entrance) {
tileView.slideToAndCenterWithScale(1000, 1000, (float) 0.4);
} else if (id == R.id.nav_tower) {
tileView.slideToAndCenterWithScale(1500, 1500, (float) 0.4);
}
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
drawer.closeDrawer(GravityCompat.START);
return true;
}
提前感謝!
將tileView對象作爲類obejct,然後可以在整個類中訪問tileView。然後,您可以輕鬆引用onCreate()方法之外的tileView對象。 –