Ok, after a fair amount of research I found this which gave me some good ideas. I went a step further than my original question. I added an XML layout that contained a AndroidFastRenderView. I then set this as my content, used findViewById to get the AndroidFastRenderView and set it up the as I had done previously.
setContentView(R.layout.gamelayout);
renderView = (AndroidFastRenderView)findViewById(R.id.androidFastRenderView);
renderView.initialise(this, frameBuffer);
I created another xml layout for my high scores screen, this in the constructor my HighScores screen added code to include this in my current layout.
final AndroidGame agame = (AndroidGame) game;
agame.runOnUiThread(new Runnable() {
@Override
public void run() {
View currentView = agame.findViewById(R.id.gameLayout);
ViewGroup parent = (ViewGroup) currentView.getParent();
currentView = agame.getLayoutInflater().inflate(R.layout.highscorescontent, parent, false);
parent.addView(currentView);
}
});
I then added code to remove the high scores layout again when we leave the high scores screen.
View currentView = agame.findViewById(R.id.highScoresLayout);
ViewGroup parent = (ViewGroup) currentView.getParent();
parent.removeView(currentView);
If anyone knows a more elegant solution then let me know - but this'll do me nicely for now.