2010-11-23 16 views
1

ボタンをクリックすると新しいアクティビティが開始されますが、新しいアクティビティのコンテンツ(UIコンポーネント)は表示されません。なぜですか?なぜアクティビティのコンテンツは表示されません(アンドロイドで)?

button listener to start new activity 
    m_sendButton.setOnClickListener(
     new OnClickListener(){ 
     public void onClick(View view) { 
     Intent in = new Intent(context, SendMessageForm.class);      
     // i.putExtra("id","4"); 
     context.startActivity(in); 
     //Toast toast = Toast.makeText(context, "Error. Please try again later", Toast.LENGTH_SHORT); 
     //toast.show(); 

     } } 

    ); 

SendMessageForm.java

import android.app.Activity; 
import android.os.Bundle; 

public class SendMessageForm extends Activity { 

public void onCreat(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.search_result_form); 
} 

} 

(単なるテスト用)search_result_form.xml

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
     android:id="@+id/rootLayout" 

    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <Button android:text="Send" android:id="@+id/btnBacksds" 
    android:layout_width="wrap_content" android:layout_height="wrap_content"></Button> 
</LinearLayout> 

答えて

4

あなたのonCreateメソッドのタイプミスを持っています。メソッド名はonCreat氏は述べています - それは「E」を欠けている:

import android.app.Activity; 
import android.os.Bundle; 

public class SendMessageForm extends Activity { 

    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.search_result_form); 
    } 

} 

一般的には、それはあなたがこのようなミスをキャッチ助けるために@Overrideアノテーションを使用すると便利です。親クラスに一致するメソッドのシグネチャがない場合、IDE(少なくともEclipseはこれを行います)が警告を表示したり、エラーを表示したりします。

+2

@Overrideにする必要があります – roundhill

+0

oh my my my !!!!!ありがとう – Adham

+1

@ aroundhill、良いキャッチ、私は訂正で私の応答を更新しました。ありがとう。答えが別のエラーを表示する場合、答えは役に立たない:P – McStretch

関連する問題