2016-03-28 38 views
0

ほとんどすべてを試しましたが、動作していないようですが、下にあるボタンのfindviewByIdを解決できません。ボタンの宣言には同じエラーがありますが、それらを正しく修正しました。下部のボタンは同じように動作していないようです。アンドロイドに新しい、ヘルプ?findviewbyidエラーは解決できません

import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.TextView; 

public class ConnectFragment extends Fragment { 

public String sign = ""; 
public String total= ""; 
public Double tempDouble, tempDouble2; 

public ConnectFragment() { 
} 

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

    View rootView = inflater.inflate(R.layout.fragment_connect, container, false); 

    return rootView; 

    // Buttons for Felony 
    Button button1 =(Button)rootView.findViewById(R.id.button1); 
    Button button2 =(Button)rootView.findViewById(R.id.button2); 
    Button button3 =(Button)rootView.findViewById(R.id.button3); 
    Button button4 =(Button)rootView.findViewById(R.id.button4); 
    Button button5 =(Button)rootView.findViewById(R.id.button5); 
    //Buttons for misdemeanors 
    Button button6 =(Button)rootView.findViewById(R.id.button7); 
    Button button7 =(Button)rootView.findViewById(R.id.button8); 
    Button button8 =(Button)rootView.findViewById(R.id.button6); 
    //Buttons for Infraction 
    Button button9 =(Button)rootView.findViewById(R.id.button9); 
    //clear, +, = 
    Button button10=(Button)rootView.findViewById(R.id.button10); 
    Button button11 =(Button)rootView.findViewById(R.id.button11); 
    Button button12 =(Button)rootView.findViewById(R.id.button12); 




    // button 1 event handler 
    button1.setOnClickListener(
      //button 1 interface 
      new Button.OnClickListener() 
      { 
       //Button 1 callback method 
       public void onClick(View v) 
       { 
        TextView output = (TextView)findViewById(R.id.editText); 
        output.append("100 years"); 
       } 
      } 
    ); 
    // button 2 event handler 
    button2.setOnClickListener(
      //button 2 interface 
      new Button.OnClickListener() 
      { 
       //Button 2 callback method 
       public void onClick(View v) 
       { 
        TextView output = (TextView)findViewById(R.id.editText); 
        output.append("25 years"); 
       } 
      } 
    ); 
    // button 3 event handler 
    button3.setOnClickListener(
      //button 3 interface 
      new Button.OnClickListener() 
      { 
       //Button 3 callback method 
       public void onClick(View v) 
       { 
        TextView output = (TextView)findViewById(R.id.editText); 
        output.append("10 years"); 
       } 
      } 
    ); 
    // button 4 event handler 
    button4.setOnClickListener(
      //button 4 interface 
      new Button.OnClickListener() 
      { 
       //Button 4 callback method 
       public void onClick(View v) 
       { 
        TextView output = (TextView)findViewById(R.id.editText); 
        output.append("5 years"); 
       } 
      } 
    ); 
    // button 5 event handler 
    button5.setOnClickListener(
      //button 5 interface 
      new Button.OnClickListener() 
      { 
       //Button 5 callback method 
       public void onClick(View v) 
       { 
        TextView output = (TextView)findViewById(R.id.editText); 
        output.append("1 years"); 
       } 
      } 
    ); 
    // button 6 event handler 
    button6.setOnClickListener(
      //button 1 interface 
      new Button.OnClickListener() 
      { 
       //Button 6 callback method 
       public void onClick(View v) 
       { 
        TextView output = (TextView)findViewById(R.id.editText); 
        output.append("1 years"); 
       } 
      } 
    ); 
    // button 7 event handler 
    button7.setOnClickListener(
      //button 7 interface 
      new Button.OnClickListener() 
      { 
       //Button 7 callback method 
       public void onClick(View v) 
       { 
        TextView output = (TextView)findViewById(R.id.editText); 
        output.append("0.5 years"); 
       } 
      } 
    ); 
    // button 8 event handler 
    button8.setOnClickListener(
      //button 8 interface 
      new Button.OnClickListener() 
      { 
       //Button 8 callback method 
       public void onClick(View v) 
       { 
        TextView output = (TextView)findViewById(R.id.editText); 
        output.append("0.25 years"); 
       } 
      } 
    ); 
    // button 9 event handler 
    button9.setOnClickListener(
      //button 9 interface 
      new Button.OnClickListener() 
      { 
       //Button 9 callback method 
       public void onClick(View v) 
       { 
        TextView output = (TextView)findViewById(R.id.editText); 
        output.append("0.013 years"); 
       } 
      } 
    ); 
    // button 10 event handler 
    button10.setOnClickListener(
      //button 10 interface 
      new Button.OnClickListener() 
      { 
       //Button 10 callback method 
       public void onClick(View v) 
       { 
        TextView output = (TextView)findViewById(R.id.editText); 
        output.setText(""); 
       } 
      } 
    ); 
    // button 12 event handler 
    button12.setOnClickListener(
      //button 12 interface 
      new Button.OnClickListener() 
      { 
       //Button 12 callback method 
       public void onClick(View v) 
       { 
        TextView output = (TextView)findViewById(R.id.editText); 
        tempDouble = Double.parseDouble(output.getText().toString()); 
        output.setText(""); 
        sign = "+"; 
       } 
      } 
    ); 

    // button 11 event handler 
    button11.setOnClickListener(
      //button 11 interface 
      new Button.OnClickListener() 
      { 
       //Button 11 callback method 
       public void onClick(View v) 
       { 
        TextView output = (TextView)findViewById(R.id.editText); 
        tempDouble2 = Double.parseDouble(output.getText().toString()); 
        if (sign=="+") 
        { 
         output.setText(Double.toString(tempDouble+tempDouble2)); 
         sign=""; 
        } 
       } 
      } 
    ); 
} 
} 
} 

} 
+0

'return'ステートメントを' onCreateView() 'メソッドの最後に移動します。 –

+0

@MikeM。まだエラーが発生しているhttp://puu.sh/nWva6/b6cd23a672.png –

+0

ああ、それら。 'TextView'が' Fragment'のレイアウトにあると仮定して、 'getView()'で 'findViewById()'を呼び出します。つまり、 'TextView output =(TextView)getView()。findViewById(R.id.editText);'です。または、 'rootView''を' final'にして、それを呼び出すことができます。また、 'Button'と' TextView'変数をクラスメンバにして、それらを 'onCreateView()'ですべて初期化することも考えられます。 –

答えて

1

あなたは方法findViewByIdを持っていないFragmentのために書いています。

TextView output = (TextView) rootView.findViewById(R.id.edittext); 

はまた、メソッドの最後に、あなたの return rootView文を動かす:あなたが使用する必要があります。

+0

このように? http://puu.sh/nWwsn/da7feb15e9.pngまだエラーが表示されています –

+0

はい。また、あなたのsetClickHandlersの後ろにreturn文を置いてください。同様の方法で 'TextView'を取得します。 – Abdullah

0

実際には答えはありませんが、醜いボイラープレートコードを取り除くより良い方法は、依存関係注入を使用することです。簡単で使いやすいフレームワークはbutterknifeです。あなたのコードははるかにクリーンで、findByIdとそのすべてのクリックイベントはありません。このすべては、バッファーナイフによって処理されます。

関連する問題