0

xml ファイルの TableLayout で次のように定義されたボタンと画像オブジェクトがあります。

    <Button
                    android:id="@+id/buttonNext"
                    android:layout_width="100dp"
                    android:layout_height="wrap_content"
                    android:layout_weight="0.99"
                    android:gravity="center"
                    android:padding="1sp"
                    android:text="@string/buttonNext"/>
    <ImageView
                    android:id="@+id/ImageView02"
                    android:layout_width="100dp"
                    android:layout_height="fill_parent"
                    android:layout_weight="0.33" 
                    android:src="@drawable/sixthstring"
                    android:contentDescription="@string/chart_description"/>

次のボタンにフックされた OnClickListener があり、すべて正常に機能しました。

imageView の OnClickListener を作成し、次のコードを挿入しました。

  imgChart.setOnClickListener(onChartClick);

. . .

  private OnClickListener onChartClick = new OnClickListener()
    {
        @Override
        public void onClick(View v)
        {
            imgChart.setImageResource(R.drawable.newPngImage);
        }
     };

画像をクリックして新しい画像を取得しても、アプリはうまく機能します。ただし、電話がスリープ状態になってから戻るか、メニューボタンをクリックすると (両方とも再描画が発生しますか?)、次のボタンのテキストが消えます (imageView の画像は問題なく、ボタン自体はまだそこにあります) - 奇妙です。

setImageResource メソッドをコメントアウトすると、すべて正常に動作します。

4

2 に答える 2

3

トニーとまったく同じ問題を抱えています。setImageDrawable代わりに" " を使用しますが、すべてが元の位置にあり、完璧に動作します!

于 2012-11-20T00:28:02.063 に答える
0

setBackgroundResource(id)の代わりに 使用setImageResource(id)

于 2012-06-27T21:56:27.343 に答える