2011-10-04 10 views
0

子アクティビティを開始するメインアクティビティがあります。チャイルズonCreate()では私が呼ん:生のリソースフォルダが空でない場合、setContentView()はnullを返します。

setContentView(R.layout.console); 
TextView tv = (TextView)findViewById(R.id.console); 

これがある限り、私の生のリソースフォルダが空であると見つける働きます。ファイルを置くと、はnullを返します。私は、生のフォルダ内のファイルとレイアウトリソースを見つけることができないこととの間に干渉があるのを見つけることができません。

+0

あなたのLogCatの出力を見て、あなたの質問にエラー/例外を投稿してください。 –

+1

'findViewById()'( 'null'か間違ったオブジェクト)から奇妙な結果が得られるときはいつでも、あなたのプロジェクトをきれいにしてください。 Eclipseから、これはメインメニューのProject | Cleanです。 Antからは、「ant clean」です。 'R.java'ファイルと他のコンパイル済みクラスが同期しなくなることがあります。 – CommonsWare

+0

おそらくビルドの問題のようですね。あなたは最新のADTに更新しましたか?プロジェクトをきれいにして再構築しますか? – dymmeh

答えて

0

NetBeansとEclipseでビルドしようとしましたが、R.javaに必要なすべてのエントリが含まれており、IDの衝突はありません。生のフォルダにファイルを追加すると、ファイルIDがR.javaに正しく追加され、それ以外の変更はありません。

LogCatでは、TextView tvを使用しようとするとすぐにnullポインタ例外が発生します。 tvの値を宣言/初期化の直後にログに書き出すと、tvはnull参照になります。

@Override 
protected void onCreate(Bundle savedInstanceState) 
{ 
    Log.i("Calling onCreate()"); 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.console); 
    TextView tv = (TextView)findViewById(R.id.console); 
    Log.i("tv = " + tv); 
} 

活動が

Intent intent = new Intent(getContext(), ConsoleActivity.class); 
int requestCode = Activity.RESULT_OK; 
startActivityForResult(intent, requestCode); 

との主な活動によってlauchedされているため、コンソール・アクティビティのレイアウトファイルconsole.xmlは以下の通りである問題のようだ:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <LinearLayout 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <ScrollView 
    android:id="@+id/scroller" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

     <TextView 
     android:id="@+id/console" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent"/> 
    </ScrollView> 

    </LinearLayout> 

</LinearLayout> 
0

回避策が見つかりました。コードはライブラリの一部でした。図書館プロジェクトでは、私は図書館で生のリソースを使わないので、生のリソースディレクトリは含めませんでした。今、私はライブラリプロジェクトにいくつかの(ダミー)ファイルを持つ生のディレクトリを作成しました... アプリプロジェクトのファイルを含む生のディレクトリを追加すると、ヌルポインタエラーが起きて奇跡的に消えました。

とにかく私を刺激したあなたの助けをありがとう。