-2

画像やボタンを表示するフラグメントの Click イベントを実装しようとしています。

フリップ ビューを実装して別のフラグメントを取得することはできますが、そのようなフラグメントで動作するクリック イベントを取得できません。

私は android:onClick で試してみclickableましたtrue. onClickListener と onTouch でも試してみましたが、起動しません。

これは私が試したコードです。

public class MainActivity extends Activity {
private FlipViewGroup contentView;
public int currentimageindex=0;
 private GestureDetector mDetector;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
     requestWindowFeature(Window.FEATURE_NO_TITLE);
        // hde staitbar otef Andoroid
        // could also be usdne lar
        getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                WindowManager.LayoutParams.FLAG_FULLSCREEN);
    setTitle(R.string.activity_title);
    contentView = new FlipViewGroup(this);
    contentView.addFlipView(View.inflate(this, R.layout.second_page, null));
    contentView.addFlipView(View.inflate(this, R.layout.first_page, null)); 
    setContentView(contentView);
//  setContentView(R.layout.second_page);
    contentView.startFlipping(); //make the first_page view flipping        
    ImageView imgFavorite =   (ImageView) findViewById(R.id.imageView1);
    imgFavorite.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(MainActivity.this,
                    "The favorite list would appear on clicking this icon",
                    Toast.LENGTH_LONG).show();
        }
    });      
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
    getMenuInflater().inflate(R.menu.main, menu);
    return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {

}
@Override
protected void onResume() {
    super.onResume();
    contentView.onResume();
}
@Override
protected void onPause() {
    super.onPause();
    contentView.onPause();
}   
public void onclick(View v){
    ImageView imgFavorite =   (ImageView) findViewById(R.id.imageView1);
    imgFavorite.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(MainActivity.this,
                    "The favorite list would appear on clicking this icon",
                    Toast.LENGTH_LONG).show();
        }
    }); 
}
}

これは私のxmlコードです

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:background="@android:color/white">                
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/imageView5"
android:layout_centerHorizontal="true"
android:layout_marginTop="60dp"
android:src="@drawable/android"
android:clickable="true"
android:onClick="onclick"/>    
</RelativeLayout>

フリップ ビュー内のフラグメントがクリック イベントまたはタッチ イベントに応答しない理由があるのでしょうか、それともコードで何か間違っているのでしょうか?

4

1 に答える 1

0

私の知る限り、FlipViewGroup はカスタム ビュー グループの実装です。その場合、 onInterceptTouchEvent() が必要な場合は、こちらのサンプル コードを参照してください。 http://developer.android.com/training/gestures/viewgroup.html

于 2013-09-24T10:21:55.967 に答える