public class Main extends Activity {  public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
          LinearLayout loginLayout = (LinearLayout) getLayoutInflater().inflate(R.layout.main, null);
     String pa="";
    
     for (int i = 0; i < loginLayout.getChildCount(); i++) { 
     View v=loginLayout.getChildAt(i);
                    //如何判断是Button或者是TextBox
                   if(){
                           //就剩下这一步了,小弟百试不得成功!望高手解救哈! 
                       }
         }
     }
}

解决方案 »

  1.   

    这个属于 RTTI:run-time type identification(运行时类型识别)了。
    貌似不改framework实现不了。
      

  2.   

    可以通过它的类名来判断:v.getClassName() == "Button"
    也可以通过instanceof判断:v instanceof Button
      

  3.   

    v instanceof Button我是用这个的
      

  4.   

       TableLayout myLayOut = (TableLayout)findViewById(R.id.tableLayout1);
            for (int i = 0; i < myLayOut.getChildCount(); i++) { 
            
             View v = myLayOut.getChildAt(i);        
             if ( v instanceof ImageView){
             ImageView myImageView = (ImageView)myLayOut.getChildAt(i);
             myImageView.setOnClickListener(new myOnclickListener());
             }
            }
      

  5.   

    通过instanceof函数判断,具体用法查API吧
      

  6.   

    java就这点比c++好,判断子类类型,用instanceof
      

  7.   

    说错了
    v instanceof Button
    这个确实应该行的