1

我有一个8按钮的片段,我希望每个按钮都引导我到不同的布局,但我不知道该怎么做,我只有一个按钮工作,但是我不知道如何放在其他七个任何人都可以帮我吗?片段中的多个按钮,如何重定向到不同的布局

这是我到目前为止有:

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


    View view = inflater.inflate(R.layout.pagina_principal, container, false); 
    view.findViewById(R.id.btnazul).setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      startActivity(new Intent(getActivity(), Rutas_azul.class)); 
     } 
    }); 

    return view; 


} 
+0

你可以添加错误日志吗? –

+0

到底是怎么做到的......将R.id.btnazul改为相应的按钮ID并相应地执行动作 一个好的做法是声明按钮并使Fragment实现OnClickListener。在OnClick方法中,对视图ID执行切换大小写并执行相应的操作 – Neo

+0

对于Intent构造函数 – Bhargav

回答

1

您可以使用所有按钮的单个点击收听:

private final View.OnClickListener mListener = new View.OnClickListener() { 
    public void onClick(View view) { 
     switch (view.getId()) { 
      case R.id.button1: 
       // do stuff 
       break; 
      case R.id.button2: 
       // do stuff 
       break; 
      case R.id.button3: 
       // do stuff 
       break; 
     } 
    } 
} 

然后在你的onCreateView

view.findViewById(R.id.button1).setOnClickListener(mListener); 
view.findViewById(R.id.button2).setOnClickListener(mListener); 
view.findViewById(R.id.button3).setOnClickListener(mListener); 

做全部8个按钮。

+0

谢谢很多!!你救了我的命! :D –

0

嗨@Alejandro Gurrola

让您的片段实施View.OnClickListener

然后实现如下的onclcick方法。

@Override 
public void onClick(View v) { 
    switch (v.getId()) { 
     case R.id.button1: 
      //Start activity one 
      break; 
     case R.id.button2 
      //Start activiy two 
      break; 
     // Do this for all buttons. 
    } 
} 

然后在片段的onCreateView()方法中执行以下操作。

Button button1 = view.findViewById(R.id.button1); 
Button button2 = view.findViewById(R.id.button2); 
// Do this for all the buttons 

button1.setOnClickListener(this); 
button2.setOnClickListener(this); 
//Do this for all the butons. 

希望这是你在找什么。

+0

我已经这样做了,但onCreateView无法识别view.findViewById中的视图 –

+0

View view = inflater.inflate(R.layout.pagina_principal,container,false);是你的看法 –

+0

我做了你所说的,现在错误是不同的:/我不能粘贴代码,因为长度至少 –

相关问题