0

シンプルなジョークアプリを作っています。基本的に、すべてのジョークを保持するために文字列を使用しました。アプリでジョークを押すと、ジョークが出てきて、もう一度押して、ジョークをもう一度押すと、ジョーク #2 が返ってきます。私の問題は、すべてのジョークに白い背景が付いていることです。android:backgroundすべてのxmlレイアウト ファイルで使用しようとしましたが、まだ白い背景が表示されます。ジョークを表示するために文字列を使用しているという事実と関係があると思います。これは、.javaクラスのジョークに使用しているコードです。

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


@Override
public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}

public void randomJoke (View view) {
    Intent intent = new Intent(this, DisplayMessageActivity.class); 
    //Random rand = new Random();
    //int lowerBound = 1, upperBound = 10;
    //int randomNumber = rand.nextInt(upperBound - lowerBound + 1) + lowerBound;
    //String jokeNumber = "joke" + String.valueOf(randomNumber);
    //String mess = getResources().getString(getStringResourcePath(getApplicationContext(),jokeNumber));
    String jokeNumber = "joke" + String.valueOf(iteration);
    iteration += 1;
    String mess = getResources().getString(getStringResourcePath(getApplicationContext(), jokeNumber));
    intent.putExtra(EXTRA_MESSAGE, mess);
    startActivity(intent);
}

public int getStringResourcePath(Context context, String name) {
    int joke = context.getResources().getIdentifier(name, "string", "com.primarycode.punnyjokes");
    return joke;
}
}
4

1 に答える 1

1

TextViewでジョークを表示するために使用している可能性があると思いますDisplayMessageActivity。これは次のようにして実現できます。

XML レイアウトの場合:

android:background="@drawable/myResouce"

または実用的にonCreate()次のように:

textView.setBackgroundResource(R.drawable.myResouce);

色を使用する場合は、レイアウト XML で次のように使用します。

android:background="#eee"
于 2013-08-08T06:23:42.363 に答える