//这是GridView的OnItemClickListener的监听
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
   LayoutInflater inflater = LayoutInflater.from(this);
   //自定义了布局
   final View v = inflater.inflate(R.layout.view02, null);       Button Right = (Button) v.findViewById(R.id.right);
Right.setOnClickListener(new righonclickListener()); AlertDialog.Builder builder = new AlertDialog.Builder(this)
.setTitle("请选择:")
.setView(v)
.setIcon(arg0.getId())
.setPositiveButton("确定", new DialogInterface.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
       
TextView num_tv = (TextView) v.findViewById(R.id.morensl);
num_tv.setText(String.valueOf(m_ClickNum));
String numStr = num_tv.getText().toString();

        //省略下边对numStr的操作

}
})
.setNegativeButton("取消", null);
AlertDialog alert = builder.create();
alert.show();

}
//对Button的监听器
public class righonclickListener implements OnClickListener{ @Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
 m_ClickNum ++ ;//已经声明为Private
 
}

}

解决方案 »

  1.   

    如果简单的问题,怎么就没解决.
    public void onClick(View arg0) {
        // TODO Auto-generated method stub
         m_ClickNum ++ ;//已经声明为Private
              Right.setText(""+m_ClickNum);   
            }
            
        }    
      

  2.   

    在这里你要怎么得到Right啊?你看一下,right是我在对话框里自定义的布局时声明的
      

  3.   

    设计本身就有问题,这样的话每点击一次就要从新实例化btn等控件,自然检测不到,因为每点击一次都是一个新的对象了,而且相当的浪费资源……
    你把点击事件回调函数里面定义的变量全部在点击事件回调函数外实例化就行了。
      

  4.   

    应该定义个int类型的变量。
    在Btn的Click事件里让其++;
    将变量的值赋给ListView
      

  5.   


    您说的我都做了,您可以看一下我写的程序,TextView还是什么都不显示
      

  6.   

    在righonclickListener类的onClick函数里打印出次数看看,或者debug看看值。
    另外,m_ClickNum是声明为哪个类的成员了?如果是righonclickListener类成员的话,每次都是new一个新的变量,所以值不变。
      

  7.   

    在onclick里是可以打印出来次数的,m_ClickNum是在整个Activity里声明的
    不是声明为righonclickListener类成员
      

  8.   

    把显示数量的TextView声明为final TextView num_tv = (TextView) v.findViewById(R.id.morensl);//在哪里用,就在哪里实例化
    m_ClickNum =1;
    Right.setOnClickListener(new View.OnClickListener(){  

    public void onClick(View arg0) {  
                        m_ClickNum ++ ;  
                        num_tv.setText(""+m_ClickNum);//在这里给num_tv赋值  
                   }  
             }); 
    Left.setOnClickListener(new View.OnClickListener(){
     
    public void onClick(View v) {
     m_ClickNum -- ;  
                     num_tv.setText(""+m_ClickNum);

    }

    });