【问题标题】:how to open new activities from fragment class using multiple buttons?如何使用多个按钮从片段类打开新活动?
【发布时间】:2016-05-04 20:29:28
【问题描述】:

我有一个名为 BmiFragment 的片段活动,来自使用滑动菜单的导航抽屉,我想从中转到一个新活动,即 BmiCalculator.class 来执行一些任务,但我不能这样做。我试图通过对片段活动实施 onclicklistener 来做到这一点。在 XML 布局中,只有四个按钮,单击它们我想打开一个新活动来执行某些任务。请给我一些帮助。 Click here to view for errors

import android.app.Fragment;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.Button;

public class BmiFragment extends Fragment implements OnClickListener {

    public BmiFragment() {
    }

    Button btn, btn1, btn2, btn3;

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

        View rootView = inflater.inflate(R.layout.fragment_bmi, container,
                false);
        btn = (Button) rootView.findViewById(R.id.button1);
        btn.setOnClickListener(this);
        btn1 = (Button) rootView.findViewById(R.id.button2);
        btn1.setOnClickListener(this);
        btn2 = (Button) rootView.findViewById(R.id.button3);
        btn2.setOnClickListener(this);
        btn3 = (Button) rootView.findViewById(R.id.button4);
        btn3.setOnClickListener(this);
        return rootView;

    }

    @Override
    public void onClick(View v) {
        switch (v.getId()) {

        case R.id.button1:
        Intent intent = new Intent(this, BmiCalculator.class);//***ERROR: The constructor Intent(BmiFragment, Class<BmiCalculator>) is undefined***//
        startActivity(intent);[enter image description here][1]
        break;

    case R.id.button2:

        break;

    case R.id.button3:

        break;
    case R.id.button4:

        break;
    default:
        break;
    }
}

}

【问题讨论】:

标签: android android-intent onclick fragment onclicklistener


【解决方案1】:

Intent intent = new Intent(this, BmiCalculator.class);//错误:构造函数 Intent(BmiFragment, Class) 未定义// startActivity(intent);[在此处输入图片描述]

而不是这个用途

Intent intent = new Intent(getActivity(), BmiCalculator.class);
startActivity(intent);

【讨论】:

    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-03
    相关资源
    最近更新 更多