如何在 Android 中使用多个类

Posted

技术标签:

【中文标题】如何在 Android 中使用多个类【英文标题】:How to use multiple classes in Android 【发布时间】:2016-12-24 08:05:08 【问题描述】:

嗨,我如何在 android 中使用多个类?即我的 mainActivity 类中有一个按钮。当我按下按钮时,我想调用不同类的方法,例如显示 Toast 消息。 在此先感谢:)

当我运行此代码时,我的应用程序崩溃了。 这是我尝试过的。

package myplayground.dreamingreality.com.myplayground;

import android.app.Activity;
import android.widget.Toast;

/**
 * Created by Ruben on 16/08/10.
 */
public class OtherClass extends Activity

    // Here is my other class

    public Toast mess()
    

        Toast t =  null;
        t.makeText(getApplicationContext(),"test",Toast.LENGTH_LONG);
        return t;
    

这是我的主要课程

package myplayground.dreamingreality.com.myplayground;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity 

    @Override
    protected void onCreate(Bundle savedInstanceState) 
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button btn = (Button)findViewById(R.id.btn);

        btn.setOnClickListener(new View.OnClickListener() 
            @Override
            public void onClick(View view) 
                OtherClass oC = new OtherClass();
                oC.mess().show();
            
        );

    

【问题讨论】:

什么问题,你尝试了什么? 欢迎来到 ***,不幸的是,您的问题并未展示任何先前研究的尝试。为了获得良好的响应,建议您在提出问题之前展示您已尝试以代码或其他方式解决问题的证据。我可以建议阅读Android Developer Guide 和Android Docs 并在线学习基本的Java 【参考方案1】:

您的按钮必须使用OnClickListener。它看起来像这样:

Button myButton = (Button) findViewById(R.id.my_button);
myButton.setOnClickListener(new View.OnClickListener() 
    @Override
    public void onClick(View v) 
        myANotherClass.showToast("test text");
    
);

有基础的:https://developer.android.com/reference/android/widget/Button.html

【讨论】:

为什么你的其他类扩展了Activity?如果你需要开始一项活动 - 你应该有意识地去做。如果您只需要创建 POJO 对象 - 不要从 Activity 扩展:) 如果你想在这里获得有用的答案,在 *** - 我建议你发布异常堆栈跟踪。因为“我的应用程序崩溃”可能有一百万个原因:)【参考方案2】:

您不能允许多类继承。如果那是你想要做的。 显示一个简单的Toast 不需要您extend 多个类。

如果您要在另一个Activity 或一个类中运行一个方法,您可以将该方法设为static,然后简单地调用:

Button button = findViewById(R.id.my_button);
button.setOnClickListener(new View.OnClickListener() 
    @Override
    public void onClick(View v) 
    YourClass.yourMethod();
    
);

祝你好运!

【讨论】:

感谢您的帮助:)

以上是关于如何在 Android 中使用多个类的主要内容,如果未能解决你的问题,请参考以下文章

java 父类如何在运行期动态获取子类类名

外键和引用类如何在 Hibernate 实体中一起存在?

idea java中Jformdesigner自动生成的类如何在public static void main(String[] args)}中引用

以编程方式设置微调器的选定项

MATLAB中如何使用KNN对数据进行分类?

多个 Redis 数据库的意义何在?