2016-12-20 7 views
-1

こんにちは、私はAndroidのスタジオで新しいとフラグメントで作業ボタンをしようとしましたが、それは動作しません?フラグメントに作業ボタンを追加する方法は?

マイ断片コード:

package layout; 

import android.content.Context; 
import android.content.Intent; 
import android.net.Uri; 
import android.os.Bundle; 
import android.support.design.widget.Snackbar; 
import android.support.v4.app.Fragment; 
import android.support.v4.widget.SearchViewCompat; 
import android.util.Log; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.Button; 
import com.marcphi.csgoskin.R; 
import com.marcphi.csgoskin.SkinListActivity; 

public class NewsFragment extends Fragment implements View.OnClickListener { 

    View view; 
    Button btn; 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
          Bundle savedInstanceState) { 

     View view = inflater.inflate(R.layout.fragment_news, container, false); 
     btn = (Button) view.findViewById(R.id.button1); 
     btn.setOnClickListener(this);   
     return view; 
    } 
    public void onClick(View view){ 
     Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) 
       .setAction("Action", null).show(); 
     Intent intent = new Intent(getActivity(), SkinListActivity.class); 
     startActivity(intent); 
    }  
} 

デバッグのエラーが用意されました。これを行うに

+1

は、完全なコードを投稿したり、あなたはグーグルができ –

+0

あなたフラグメントクラスは、OnClickListenerを実装する必要があります –

+0

"does not work"はエラーではありません..ポストコードか説明が良いです。 –

答えて

0

一つの方法:あなたのonClick方法で

btn = (Button) view.findViewById(R.id.button1); 
btn.setOnClickListener(new OnClickListener() { 
      public void onClick(View v) { 
       // Perform action on click 

       Snackbar.make(v, 
           "Replace with your own action", 
           Snackbar.LENGTH_LONG) 
         .setAction("Action", null).show(); 

       Intent intent = new Intent(getActivity(), 
              SkinListActivity.class); 
       startActivity(intent); 
      } 
     }); 
0

追加:

If (view.getId() == R.id.button1) { 
    // Here place code of onClick method 
} 
0

Snackbar.make()は、最初の引数としてcoordinatorLayoutを取り、あなたがそれにボタンを渡しているので、それは仕事をdoesntの。

あなたはスナックバーを使用したい場合は、あなたのフラグメントであなたのrootViewとしてCoordinatorLayoutを使用して、このようスナックバーにそれを渡す必要がありますフラグメントにsetOnClickListenerを設定し、

Snackbar.make(coordinatorLayout, "Replace with your own action", Snackbar.LENGTH_LONG) 
      .setAction("Action", null).show(); 
関連する問題