布局中出现了一些奇怪的问题..我有一个像下面这样的线性布局,其中有文本视图和图像视图…我已经为线性布局写了一个点击事件-就像点击线性布局(id被验证)我有一些事情要做…我发现--这两个子视图也接受这些点击事件,并在两次执行中同时结束……我无法禁用这些焦点或可点击事件...(单击该事件-我正在调用异步)是否有任何方法可以禁止这些视图获得焦点……我已经尝试了大部分,比如android:可聚焦和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("");
});发布于 2012-03-28 14:58:26
Simply 实现了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而面临的问题..
https://stackoverflow.com/questions/9900944
复制相似问题