2012-03-28 41 views
0

某种布局中奇怪的问题的..我有一个线性布局像下面具有文本视图和图像视图...我已经写了线性布局的单击事件ID被验证)我已经得到了一些东西做的...我发现 - 这两个孩子的意见也正在采取那些点击事件,并同时在两个执行结束了......我不能禁用这些焦点或可点击的事件。 ...(点击该事件 - 我打电话给一个异步)是否有任何禁用这些意见的焦点...我已经尝试了大部分像android:focusable和android:clickable ....但它没有不帮助.. :(布局及其子

<LinearLayout 
     android:id="@+id/verify" 
     android:layout_width="150dp" 
     android:layout_height="100dp" 
     android:layout_marginLeft="10dp" 
     android:background="@drawable/clearbluesky" 

     android:orientation="vertical" 
     > 

     <TextView 
      android:id="@+id/textView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:clickable="false" 
      android:focusable="false" 
      android:text="Verify" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:textColor="@android:color/black" /> 

     <ImageView 
      android:id="@+id/imageView2" 
      android:layout_width="70dp" 
      android:layout_height="30dp" 
      android:layout_marginLeft="10dp" 
      android:layout_weight="1" 
      android:clickable="false" 
      android:focusable="false" 
      android:src="@drawable/fps" /> 
    </LinearLayout> 

continue.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
         new AsyncTask<String, String, String>() 
         { 
          boolean testresult = false; 
          boolean clearBuf = false; 
          ProgressDialog progressDialog = null; 
          @Override 
          protected void onPostExecute(String result){                 super.onPostExecute(result); 
           progressDialog.dismiss(); 
          } 
          @Override 
          protected void onPreExecute() { 

           super.onPreExecute(); 
           progressDialog = new ProgressDialog(getApplicationContext()); 
           progressDialog.setMessage("Continue"); 
           progressDialog.setIndeterminate(false); 
           progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER); 
           progressDialog.show(); 
          } 
          @Override 
          protected String doInBackground(String... params) { 
                // Calling some function    
           return null; 
          } 

         }.execute(""); 

    }); 
+0

你可以张贴onClickListener代码.. – user936414 2012-03-28 04:23:00

+0

我有一个片段的onClick转贴吧..请... – 2012-03-28 05:14:17

+0

的onClick()方法被调用一次。由于textView或imageView没有问题。 – user936414 2012-03-28 05:28:39

回答

3

只是实施OnclickListener和处理单击使用有id作为像下面

 tv = (TextView) findViewById(R.id.textView1); 
    im = (ImageView) findViewById(R.id.imageView2); 
    ly = (LinearLayout) findViewById(R.id.verify); 
    ly.setOnClickListener(this); 
    tv.setOnClickListener(this); 
    im.setOnClickListener(this); 


    @Override 
public void onClick(View v) { 
    if(v==ly){ 
     Toast.makeText(TestActivity.this, "I clicked", 
       Toast.LENGTH_SHORT).show(); 

    }if(v==tv){ 

    }if(v==im){ 

    } 

} 

希望它会为你的作品。

你面对它,因为@override问题..

+0

你的答案是最有帮助和教育....但我仍想知道为什么它会采取两个click事件(也可能不会发生每次但它确实在某些情况下发生的。) – 2012-03-28 09:04:16