2016-10-20 10 views
-2

私はこのフラグメントを持っていますが、findviewbyidは使用できません。私はすでにウェブサイトの周りを見ているが、何も得られない。フラグメント実装OnClickListener

public class Course extends Fragment implements OnClickListener 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 

    View view = inflater.inflate(R.layout.course, container, false); 
    View button1Button = findViewById(R.id.button_button1); 
    button1Button.setOnClickListener(this); 
    View button2Button = findViewById(R.id.button_button2); 
    button2Button.setOnClickListener(this); 
    View button3Button = findViewById(R.id.button_button3); 
    button3Button.setOnClickListener(this); 
    View button4Button = findViewById(R.id.button_button4); 
    button4Button.setOnClickListener(this); 
    View button5Button = findViewById(R.id.button_button5); 
    button5Button.setOnClickListener(this); 
    View button6Button = findViewById(R.id.button_button6); 
    button6Button.setOnClickListener(this); 
    View button7Button = findViewById(R.id.button_button7); 
    button7Button.setOnClickListener(this); 
    View button8Button = findViewById(R.id.button_button8); 
    button8Button.setOnClickListener(this); 
} 

thankss

+0

使用をview.findViewById –

答えて

0

thankss断片ではなく、あなたが膨らまされたレイアウトを使用し、方法findViewById()を持っていません。

View button1Button = view.findViewById(R.id.button_button1); 

および他のすべての割り当てに

変更

View button1Button = findViewById(R.id.button_button1);

0

次の変更を行ってください。それ以降はうまくいくはずです。

Button button8Button = view.findViewById(R.id.button_button8); 
0

シンプルな、あなたは膨張しviewfindViewByIdを呼び出す必要があります:

View button1Button = view.findViewById(R.id.button_button1);

方法の終わりに、あなたのview変数を返すことを忘れないでください。

0

このようにする必要があります。この希望に

public class Course extends Fragment implements OnClickListener 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
         Bundle savedInstanceState) { 

     View view = inflater.inflate(R.layout.course, container, false); 
     View button1Button = view.findViewById(R.id.button_button1); 
     button1Button.setOnClickListener(this); 
     //Other buttons go here 

     return view; 
    } 
} 
0

試みこれはView.OnClickListenerOnClickListenerの前でViewを追加

public class Course extends Fragment implements OnClickListener 

@Override 
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 

    View view = inflater.inflate(R.layout.course, container, false); 
    Button button1Button = (Button) view.findViewById(R.id.button_button1); 
    button1Button.setOnClickListener(this); 
    Button button2Button = (Button) view.findViewById(R.id.button_button2); 
    button2Button.setOnClickListener(this); 
    Button button3Button = (Button) view.findViewById(R.id.button_button3); 
    button3Button.setOnClickListener(this); 
    Button button4Button = (Button) view.findViewById(R.id.button_button4); 
    button4Button.setOnClickListener(this); 
    Button button5Button = (Button) view.findViewById(R.id.button_button5); 
    button5Button.setOnClickListener(this); 
    Button button6Button = (Button) view.findViewById(R.id.button_button6); 
    button6Button.setOnClickListener(this); 
    Button button7Button = (Button) view.findViewById(R.id.button_button7); 
    button7Button.setOnClickListener(this); 
    Button button8Button = (Button) view.findViewById(R.id.button_button8); 
    button8Button.setOnClickListener(this); 
    return view; 
} 
0
  1. ..あなたを助けることができます。
  2. の前にviewを追加すると、findViewById~view.findViewByIdの前に追加します。

これを試してみてください。

public class Course extends Fragment implements View.OnClickListener{ 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 

     View view = inflater.inflate(R.layout.course, container, false); 
     View button1 = view.findViewById(R.id.button_button1); 
     button1.setOnClickListener(this); 
    } 
     .... 
} 
関連する問題