为了账号安全,请及时绑定邮箱和手机立即绑定

不使用按钮时,为什么新活动不会从此 OnClick 方法启动?

不使用按钮时,为什么新活动不会从此 OnClick 方法启动?

翻翻过去那场雪 2021-11-24 15:21:24
我在 Android Studio 中工作,并且正在使用回收器视图从数据库创建项目列表。在 RecyclerViewAdapter 中的 OnClick 函数中,我的目标是使用来自数据库的额外消息启动一个新活动(该函数可以正常工作并且在这种情况下不是问题)。当点击屏幕时,应用程序崩溃而不是加载新活动。任何阻止应用程序崩溃的帮助将不胜感激。谢谢
查看完整描述

2 回答

?
人到中年有点甜

TA贡献1895条经验 获得超7个赞

两个最可能的问题是 (1)eventScreen活动未在您的 AndroidManifest.xml 中声明或 (2)context变量为空。


要解决 (1),请将其添加到您的清单中:


<activity

    android:name=".eventScreen"/>

要解决 (2),请使用ContextViewHolder 的 itemView 中的保证非空:


Context c = v.getContext();

Log.d(TAG, eventName.get(position) + " clicked");

Intent intent = new Intent(c, eventScreen.class);

intent.putExtra("name", eventName.get(position));

c.startActivity(intent);


查看完整回答
反对 回复 2021-11-24
?
智慧大石

TA贡献1946条经验 获得超3个赞

您的数据库为空,因为您没有对其进行初始化。


public class eventScreen extends AppCompatActivity {

    public Database db; // db is NULL

    public TextView name, location, date, website;

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_event_screen);

        name = findViewById(R.id.name);

        location = findViewById(R.id.location);

        date = findViewById(R.id.date);

        website = findViewById(R.id.website);


        // You should initialize your DataBase db here before calling loadInfo()


        if (getIntent().hasExtra("name")) {

            String eventName = getIntent().getStringExtra("name");

            loadInfo(eventName);

        }

        else{

            Toast.makeText(this, "No message", Toast.LENGTH_LONG).show();

        }





    }


    public void loadInfo(String title){

        // db is still NULL

        // The crash happens here when you call --> db.getEventData() --> null.getEventData(title)

        String [] info = db.getEventData(title);

        name.setText("the ");

        location.setText("the");

        date.setText("the");

        website.setText("the");

    }

}


查看完整回答
反对 回复 2021-11-24
  • 2 回答
  • 0 关注
  • 119 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信