gpt4 book ai didi

java - 在 NavigationDrawer 中单击按钮打开 Activity

转载 作者:行者123 更新时间:2023-12-02 05:01:24 25 4
gpt4 key购买 nike

我已经在 Android Studio 中使用抽屉导航 Activity 创建了项目,并且已成功创建它,在抽屉导航 Activity 上我创建了 3 个部分,在第 1 部分中我放置了按钮,我想在该按钮上设置 setOnClickListener 方法,从而启动新 Activity (例如“xyz.class”)我使用了代码

startActivity(new Intent(this,xyz.class));

但是“this”关键字不起作用并给我错误。所以,我改变了代码,例如

上下文 c;
startActivity(new Intent(c,xyz.class));

这给出了 NullPointerException,

我的Section1代码是

import android.app.Fragment;
import android.content.Context;
import android.content.Intent;
import android.os.Build;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.widget.DrawerLayout;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.Toast;
import com.example.pratik.crm50.R;
import com.gc.materialdesign.views.ButtonFloat;
public class Dashboard extends Fragment implements View.OnClickListener {
View rootView;
Context c;
private ButtonFloat float_btn;
private Button but;
private Button btn;
Context c;
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
View v;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
v = inflater.inflate(R.layout.dashboard_layout,container, false);
} else {
v = super.onCreateView(inflater,container, savedInstanceState);
}
View vv=v.findViewById(R.id.button_simple);
vv.setOnClickListener(this);
return v;
}
@Override
public void onClick(View v) {
// Toast.makeText(c,"Float Button",Toast.LENGTH_SHORT).show();
Log.e("ssas","sasafa");
//startActivity(new Intent(c,xyz.class));
}

}

我可以在上面的代码上成功记录Log.e("ssas","sasafa")。那么如何做到这一点呢?

最佳答案

Fragment 不会扩展 Context,而 Intent 构造函数希望第一个参数正是如此。

Context c 变量是多余的,因为 Fragment 默认保存父 Activity。

您需要使用 fragment 附加到的 Activity (扩展Context的类):

startActivity(new Intent(getActivity(), xyz.class));

关于java - 在 NavigationDrawer 中单击按钮打开 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28261513/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com