1

私は最近 Android でプログラミングを始めましたが、ちょっとした問題に遭遇しました。
私がやろうとしているのは、NewsActivity と NewsRows.class を (同じパッケージに) 持っていることです。
そのため、ニュース アクティビティは新しい NewsRows オブジェクトを作成し、TableLayout に新しい行を入力するように指示するだけです。
リソースから画像を追加しようとしている限り、問題なく動作します...アプリがクラッシュし続けます。
デバッガーは、リソースが見つからないことを示していますが、その理由がわかりません!

私のコードはここにあります:
News Acitivty

package de.myapp.app.activites.news;

import de.myapp.app.R;
import android.app.Activity;
import android.os.Bundle;

public class News extends Activity {
    NewsRows rowClass = new NewsRows();
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.news);

        NewsRows.createNewsEntries(this);
    }

}

NewsRows.class

package de.myapp.app.activites.news;

import de.myapp.app.R;
import android.app.Activity;
import android.widget.ImageView;
import android.widget.TableLayout;
import android.widget.TableRow;
import android.widget.TextView;

public class NewsRows {
static TextView         title;
static TableRow         tRow;
static TableLayout      tLayout;
public NewsRows() {

}

public static void createNewsEntries(Activity contextActivity) {

    ImageView image = new ImageView(contextActivity);
    image.setBackgroundColor(R.drawable.myimage);
    tLayout     = (TableLayout) contextActivity.findViewById(R.id.NewsTable);

    for(int a = 0; a < 100; a++) {
        tRow    = new TableRow(contextActivity);
        title   = new TextView(contextActivity);
        //tRow.addView(image);
        title.setText("This is a test.");
        tRow.addView(title);
        tLayout.addView(tRow);
    }
}

}

編集:行

image.setBackgroundColor(R.drawable.myimage);<br />

実際には次のようになっています。

image.setImageResource(R.drawable.myimage);
4

3 に答える 3

2

画像を背景色に設定しようとしています: これを変更します:

 image.setBackgroundColor(R.drawable.myimage);

これに:

 image.setBackgroundResource(R.drawable.myimage);
于 2012-05-28T11:02:49.523 に答える
0

楽しい事実:

    TableLayout tLayout = (TableLayout) findViewById(R.id.NewsTable);
    TableRow tRow = new TableRow(this);
    ImageView image = new ImageView(this);
    image.setImageResource(R.drawable.myimage);
    tRow.addView(image);
    tLayout.addView(tRow);

このコードを News.Activity に正しく配置すると、機能します...

于 2012-05-28T11:31:20.040 に答える
0

ImageView の背景色としてドローアブルを設定することはできません。そのため、logcat でリソースが見つからないという例外が発生します!!

 image.setBackgroundColor(R.drawable.myimage);

これを次のように変更します。

image.setBackgroundResource(R.drawable.myimage);

これも変更してみてください

public static void createNewsEntries(Activity contextActivity) 

public static void createNewsEntries(Context contextActivity)
于 2012-05-28T11:14:36.103 に答える