Shut the fuck up and write some code

グダグダ言わずにコードを書きたいブログ

カスタムビューがXMLから読み込まれない

JAVAの勉強も兼ねてAndroidを久々にいじりだしている。がレイアウトの生成で躓いてしまい先に進めない><。


カスタムビュー(ここではtestView)を作ってXMLレイアウトに配置。それを読み込み、idから取得しようとしているのだけど、コンパイルは通るものの起動させると途中で挙動が止まる。見てみると

setContentView(R.layout.main)

ここで止まってしまう。


レイアウトXMLはサンプルのlunerLanderを参照にしている、というかそのまんまだけど、読み込みで止まるってありえるのか?調べてみるものの他に設定すべき点ががあるとは思えない。クラス名も間違ってないし…カスタムビューのパスが通ってないのか。間違ってないはずなんだけどな…。現在必死に調査中。


こういうやり方してるのがサンプルくらいで、あとはカスタムコンポーネントの作り方紹介しているページくらいだな。
http://wikiwiki.jp/android/?%A5%AB%A5%B9%A5%BF%A5%E0%A5%B3%A5%F3%A5%DD%A1%BC%A5%CD%A5%F3%A5%C8%A4%CE%BA%EE%C0%AE
どっか良い資料はないものか。


ヘルプミーです。


ソースは以下。

Activity

//Activity
public class helloworld extends Activity {
	
	private testView mainView
	
	public void onCreate(Bundle savedInstanceState) {    	
        	super.onCreate(savedInstanceState);
		setContentView(R.layout.main);//カスタムビューが入っているとうまく読み込まれずに止まる。
		mainView =(testView)this.findViewById(R.id.testview);
	}
}

View

//カスタムビュー
public class testView extends SurfaceView {
	
	public testView(Context context, AttributeSet attrs) {		
		super(context,attrs);
	}
}

レイアウトXML

//レイアウト
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent">
    
    <com.hogehoge.test.testView
	android:id="@+id/testview"   
    	android:layout_width="fill_parent" 
    	android:layout_height="fill_parent"/>
    
    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" >
        <TextView
          android:id="@+id/text"
		  android:visibility="visible"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_centerInParent="true"
          android:gravity="center_horizontal"
          android:textColor="#88ffffff"
          android:textSize="24sp"/>
     </RelativeLayout>
     
</FrameLayout>