white是一幅png图。如何让按钮响应事件的时候,显示出来?private Button.OnClickListener addClicked = new Button.OnClickListener() {
@Override
public void onClick(View v) {
ImageView iv_chess = new ImageView(Gobang.this);
    iv_chess.setImageResource(R.drawable.white);
    iv_chess.setVisibility(0);
Log.v(TAG, "addClicked");
}
};

解决方案 »

  1.   

    你可以看看你的Button有没有问题? 
      

  2.   

    iv_chess没有添加到当前Activity的布局文件中,所以无法显示
      

  3.   

    点按钮增一幅图,再点按钮再增一幅图。
    图越来越多,这样动态,如何添加到当前Activity的布局文件?
      

  4.   

    获取layout对象,然后调用layout.add(view);
      

  5.   

    下面有追加ImageButton 的代码,参考吧
    LinearLayout ImageLLayout = new LinearLayout(app);
    ImageLLayout.setGravity(Gravity.RIGHT | Gravity.CENTER_VERTICAL);
    LinearLayout.LayoutParams llp = new LinearLayout.LayoutParams(
    LinearLayout.LayoutParams.FILL_PARENT,
    LinearLayout.LayoutParams.FILL_PARENT, 1);
    ImageLLayout.setLayoutParams(llp); ImageButton titleImgAdd = new ImageButton(app);
    llp = new LinearLayout.LayoutParams((int) (40 * app.getDensity()), 60);
    titleImgAdd.setLayoutParams(llp); titleImgAdd.setImageResource(R.drawable.imgbtn_addtask);
    titleImgAdd.setOnClickListener(titleAddTaskLis); ImageLLayout.addView(titleImgAdd);
      

  6.   

    没有 addView 到一个已显示的View上
      

  7.   

    我晕!你这个值创建了一个ImageView对象,你还要把它添加到视图里面啊,就相当于一个Layout里面放一个ImageView。这样才能显示出来。
      

  8.   

    如下的代码,能点一次增加一个图片了。不过有个问题:新增图片不在棋盘imageview_board上?相当于加在了总布局的后面。
    package com.demo.android.gobang;import android.app.Activity;
    import android.os.Bundle;
    import android.util.Log;
    import android.view.View;
    import android.widget.Button;
    import android.widget.ImageView;
    import android.widget.LinearLayout;public class Gobang extends Activity {
    private static final String TAG = "Gobang";    /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
            findViews();
            initialize();
            setListensers();
        }
        
        private Button btn_step;
        private ImageView iv_board;
        
        private void findViews() {
         btn_step = (Button)findViewById(R.id.botton_step);
         iv_board = (ImageView)findViewById(R.id.imageview_board);
        }
            
        private void initialize() {
         iv_board.setImageResource(R.drawable.board);
         btn_step.setText(R.string.step);
        }
        
        private void setListensers() {
         btn_step.setOnClickListener(addClicked);
        }
        
        private Button.OnClickListener addClicked = new Button.OnClickListener() {
            @Override
    public void onClick(View v) {
             Log.v(TAG, "addClicked");
             ImageView iv_chess = new ImageView(Gobang.this);
                iv_chess.setImageResource(R.drawable.black);
                iv_chess.setVisibility(View.VISIBLE);
                
                //取得LinearLayout 物件
                LinearLayout ll = (LinearLayout)findViewById(R.id.viewObj);
                //将ImageView加入到LinearLayout中
                if (null != ll) {
                 ll.addView(iv_chess);
                }
    }
        };
    }<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/viewObj"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        >
    <ImageView
    android:id="@+id/imageview_board"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_weight="1"
    />
    <Button
    android:id="@+id/botton_step"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        />
    </LinearLayout>
      

  9.   

    首先View类没有AddView这个方法。所以不可能用AddView来实现动态添加棋子的功能,即覆盖图片的功能。要用SurfaceView,SurfaceHolder去画图,使用Canvas在该表面视图上画图。可以先画棋盘,然后指定坐标去画棋子。是可以画bitmap的。
    这个和JAVA的GUI的paint原理差不多。
      

  10.   

    Activity里面应该就有add方法吧