无法在Fragment swipetabs上使用onClickImageListener

时间:2016-07-19 11:21:48

标签: android android-layout android-studio android-fragments android-intent

我一直在尝试将图片添加到滑动标签的片段中,该片段会被点击以打开另一个活动,但它尚未运行!

我有一个滑动标签活动,首先有三个片段作为介绍第二个作为菜单,第三个只是信息但我无法制作该菜单我希望该菜单是手动制作的图像并且将被点击其中的下一个相关活动。帮帮我

片段代码: -

import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;


public class TwoFragment extends Fragment {
ImageView img;
public TwoFragment() {
    // Required empty public constructor
}



@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    return inflater.inflate(R.layout.fragment_two, container, false);
    img = (ImageView)getView().findViewById(R.id.imageView);
    img.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(TwoFragment.this, Programming.class);
            startActivity(intent);
     }
  });


  }
}

添加图片:Image of fragment in which the image will be clicked

2 个答案:

答案 0 :(得分:0)

而不是TwoFragment.this作为Intent的第一个参数,传递getActivity(),如下所示:

@Override
    public void onClick(View v) {
        Intent intent = new Intent(getActivity(), Programming.class);
        startActivity(intent);
 }

解释:第一个参数应该是Context类型,这就是传递活动的原因,原因是Activity扩展了Context(间接)。片段没有,因此传递片段将无法工作。

答案 1 :(得分:0)

  public void onClick(View v) {
  FragmentTransaction transaction = getFragmentManager().beginTransaction();
            transaction.replace(R.id.layoutid, Programming.class);
            transaction.commit();

}

    Here 'R.id.layoutid' is your main layout id of R.layout.fragment_two layout file.