setContentView和findViewById错误

时间:2015-03-06 10:15:14

标签: android

我正在尝试将一个应用程序从android从一个活动转移到一个碎片错误,我正在向右跳 setContentView和findViewById中不再那样,我尝试了所有东西,即使我的基本级别的机器人也允许我

public class Tactica extends Fragment {
    private ImageView cuadrado;
    private int modificarX = 100;
    private int modificarY = 100;

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
          super.onCreate(savedInstanceState);
          setContentView(R.layout.tactica);
          cuadrado = (ImageView) findViewById(R.id.imageView1);
          cuadrado.setOnTouchListener(handlerMover);
          View tactics = inflater.inflate(R.layout.tactica, container, false);
          return tactics;
    }
    ...
}

2 个答案:

答案 0 :(得分:4)

您应该通过膨胀contentView从contentView中检索ID。当您处理片段时。您可以按如下方式执行此操作:

View contentView = inflater.inflate(R.layout.tactica, container, false);

这样你就可以找到这样的ID:

contentView.findViewById

答案 1 :(得分:3)

使用此代码

@Override

    public View onCreateView(LayoutInflater inflater, ViewGroup container,
    Bundle savedInstanceState) {         
          View tactics = inflater.inflate(R.layout.tactica, container, false);
           cuadrado = (ImageView)tactics.findViewById(R.id.imageView1);
          cuadrado.setOnTouchListener(handlerMover);
          return tactics;
    }

这里你不必在onCreateView方法

中使用这两行
super.onCreate(savedInstanceState);
setContentView(R.layout.tactica);

你必须在充气文件后而不是在

之前初始化imageview控件