首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >布局及其子布局

布局及其子布局
EN

Stack Overflow用户
提问于 2012-03-28 12:00:12
回答 1查看 184关注 0票数 0

布局中出现了一些奇怪的问题..我有一个像下面这样的线性布局,其中有文本视图和图像视图…我已经为线性布局写了一个点击事件-就像点击线性布局(id被验证)我有一些事情要做…我发现--这两个子视图也接受这些点击事件,并在两次执行中同时结束……我无法禁用这些焦点或可点击事件...(单击该事件-我正在调用异步)是否有任何方法可以禁止这些视图获得焦点……我已经尝试了大部分,比如android:可聚焦和android:clickable……但这并没有帮助..:(

代码语言:javascript
复制
<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("");

    });
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-03-28 14:58:26

Simply 实现了OnclickListener,并使用如下的id处理点击

代码语言:javascript
复制
     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而面临的问题..

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9900944

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档