在这一个上摸不着头脑。我有以下代码,它只是查看一个像素并标识其颜色。如果它是某种颜色,它会调出警报弹出。
public void setClick(final View view)
{
view.setOnTouchListener(new View.OnTouchListener() {
public boolean onTouch(View v, MotionEvent event) {
if (count == 0) {
view.setDrawingCacheEnabled(true);
view.buildDrawingCache();
Bitmap bitmap = view.getDrawingCache();
if (Color.red(bitmap.getPixel((int) event.getX(), (int) event.getY())) == 232) {
alert();
count++;
}
onTouchListener的XML如下所示。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/silLayout"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<Button
android:id="@+id/cust_scroll"
android:layout_width="237dp"
android:layout_height="558dp"
android:background="@drawable/silhoutte_front_ii"
android:duplicateParentState="true"
android:clickable="true"
android:onClick="setClick"
android:layout_gravity="center"/>
<Button
android:id="@+id/toCustomize"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:text="Next >>"
android:onClick="toCustomize"/>
</LinearLayout>
警报的构造如下。
public void alert(){
LayoutInflater inflater= LayoutInflater.from(this);
View view=inflater.inflate(R.layout.alert_scroll, null);
TextView textview=(TextView)view.findViewById(R.id.textmsg);
textview.setText("Your really long message.");
AlertDialog.Builder alertDialog = new AlertDialog.Builder(this);
alertDialog.setTitle("Title");
//alertDialog.setMessage("Here is a really long message.");
alertDialog.setView(view);
alertDialog.setPositiveButton("OK", null);
alertDialog.setNegativeButton("cancel", null);
AlertDialog alert = alertDialog.create();
alert.show();
}
警报的XML如下所示。
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TextView
android:id="@+id/textmsg"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="hello" />
</LinearLayout>
</ScrollView>
现在,当识别出正确的颜色时,警报弹出没问题。然而,之后,onTouchListener停止响应并且将不再调用警报。我理解在标题中我说onClickListerns是破坏的,这是一个onTouchListener,但我在其他地方有一个onClickListener这个问题。我找不到关于这个主题的任何信息,但我知道有一个简单的解决方案。提前谢谢。