Я сделал пользовательский вид, который я назвал Game.javaКак я могу указать пользовательский класс вида из Activity?
public class Game extends View {
public Game(Context context, AttributeSet attrs) {
//here goes class
public void shot(){
}
//method I want to use sometime
}
здесь часть моего файла макета для активность game.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/root"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".GameActivity" >
<com.vladdrummer.textmaster.Game
android:id="@+id/game"
android:layout_width="wrap_content"
android:windowSoftInputMode="adjustResize"
android:layout_height="wrap_content"
android:text="@string/hello_world" />
<View
android:id="@+id/spareview"
android:layout_width="0dp"
android:layout_height="0dp"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true" />
и т.д .. Так, в деятельности я просто
setContentView(R.layout.game);
и я получил свой собственный вид класс под названием Game.java как части экрана
Но как мне его решить? если да:
Game game;
game =(Game) findViewById(R.id.game);
game.shot();
сбой.
конечно, я могу сделать:
Game game=new Game(this)
setContentView(game);
и иметь доступ к игре, так что он не будет врезаться, но мне нужны другие элементы на экране, а
скажите, пожалуйста, как это сделать право
какая ошибка вы получаете, когда вы ссылаетесь от XML ?? –
«findViewById (R.id.game)» возвращает null? Или это ошибка изнутри game.shot()? – NigelK
попробуйте использовать все конструкторы в вашем GameView – Tsunaze