【问题标题】:How to open new activities inside fragment using different buttons? [closed]如何使用不同的按钮在片段内打开新活动? [关闭]
【发布时间】:2017-03-14 09:21:13
【问题描述】:

我希望我的按钮能够打开新活动。我很困惑如何编写代码。我只有一个可以打开新活动的按钮。

【问题讨论】:

  • 显示您尝试过的问题。
  • 我不知道如何显示代码。我是stackoverflow的新手。刚注册了一个帐号
  • 如何接受你的回答?对不起,我是新手。以及如何在询问时分享我的代码。
  • 欢迎来到 SO !要了解如何接受答案,请参阅here。要了解如何提出好问题,请参阅 here

标签: java android button fragment


【解决方案1】:

试试这个

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                     Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.profile, container, false);

Button newPage = (Button) v.findViewById(R.id.button2);
newPage.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        Intent intent = new Intent(getActivity(), FirstActivity.class);
        startActivity(intent);
    }
});

Button newPage1 = (Button) v.findViewById(R.id.button1);
newPage1.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        Intent intent = new Intent(getActivity(), SecondActivity.class);
        startActivity(intent);
    }
});

Button newPage2 = (Button) v.findViewById(R.id.button3);
newPage2.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View v) {
        Intent intent = new Intent(getActivity(), ThirdActivity.class);
        startActivity(intent);
    }
});
return v;

}

另一种方法(开关和案例)

public class MainActivity extends Fragment implements View.OnClickListener {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View v = inflater.inflate(R.layout.main_activity, container, false);

    Button button1 = (Button) v.findViewById(R.id.button1);
    button1.setOnClickListener(this);
    Button button2 = (Button) v.findViewById(R.id.button2);
    button2.setOnClickListener(this);
    Button button3 = (Button) v.findViewById(R.id.button3);
    button3.setOnClickListener(this);

    return v;
}

@Override
public void onClick(View v) {
    switch (v.getId()) {
        case R.id.button1:
           Intent intent = new Intent(getActivity(),FirstActivity.class);
           startActivity(intent);
            break;
        case R.id.button2:
            // launch Activity2
            break;
        case R.id.button3:
            // launch Activity3
            break;
    }
}

}

【讨论】:

  • 谢谢。有效。我认为 id 使用 switch 和 case 方法。
  • 你可以有很多方法去做。 Switch and case 方法就是其中之一。
  • 啊。现在我明白了。谢谢。
  • 顺便问一下,如果我使用 switch 和 case 方法,代码是什么?我仍然很困惑如何在片段中使用它
猜你喜欢
  • 2023-03-28
  • 1970-01-01
  • 1970-01-01
  • 2019-04-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-10-03
相关资源
最近更新 更多