2017-08-14 2 views
1
public class frag2 extends Fragment { 

    Button btn_service; 

    @Override 

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

     View good = inflater.inflate(R.layout.fragment2, container, false); 
     ((EditText) good.findViewById(R.id.editText)).setText("edit text test"); 


     final View v = inflater.inflate(R.layout.fragment2, container, 
       false); 

     btn_service = (Button) v.findViewById(R.id.btn); 
     btn_service.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View view) { 
       Snackbar.make(view, "test snackbar button", Snackbar.LENGTH_LONG) 
         .setAction("Action", null).show(); 
      } 

     }); 
     return good; 
    } 

Ich möchte wissen, wie onClick mit Fragment-Layout zu programmieren. Ich bin ein Neuling in Android-Codierung. also kann ich die falsche Frage stellen.Onclick mit Fragment, es gibt keinen Fehler, aber es funktioniert nicht

Antwort

3

Sie erstellen zwei separate Ansichten good und v aber man braucht nur good, v nur da ist, nichts zu tun, weil good das die eigentliche Fragment Ansicht ist, die in Ihrer Aktivität angezeigt wird (aufgrund return good), so müssen Sie binden Sie Ihre Aktion mit dem Kind von good

von inflate (int resource, ViewGroup root, boolean attachToRoot)

aufpumpen eine neue Ansicht Hierarchie aus der angegebenen xML-Ressource.

//final View v = inflater.inflate(R.layout.fragment2, container, 
//  false); 

btn_service = (Button) good.findViewById(R.id.btn); 
//      ^^^^ 
+0

Vielen Dank! Ich habe das Problem gelöst! Ich werde Ihre Antwort so bald wie möglich akzeptieren –

+0

Ich bin froh, dass ich helfen konnte, glücklich Codierung –

Verwandte Themen