在Android Studio中使用不同的类

9 浏览
0 Comments

在Android Studio中使用不同的类

在Android Studio中,如何在调用它的类之外的另一个类中使用一个方法?我有以下的主类:\n

package com.example.bluebus;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.TextView;
import java.util.concurrent.Executors;
import java.util.concurrent.ScheduledExecutorService;
import java.util.concurrent.ScheduledFuture;
import static java.util.concurrent.TimeUnit.SECONDS;
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        BeeperControl test = new BeeperControl();
        //test.test();
        //test.test();*/
    }
}

\n在同一个文件夹中,我有以下的BeeperControl类:\n

import java.util.concurrent.ScheduledFuture;
import static java.util.concurrent.TimeUnit.SECONDS;
/**
 * Created by Arthur on 1/7/2017.
 */
public class BeeperControl extends AppCompatActivity {
        /*private final ScheduledExecutorService scheduler =
                Executors.newScheduledThreadPool(1);*/
        final TextView text = (TextView) findViewById(R.id.text);
    /*
        public void beepForAnHour() {
            final Runnable beeper = new Runnable() {
                public void run() {
                    text.setText("Hello!");
                }
            };
            final ScheduledFuture beeperHandle =
                    scheduler.scheduleAtFixedRate(beeper, 0, 1, SECONDS);
            scheduler.schedule(new Runnable() {
                public void run() { beeperHandle.cancel(true); }
            }, 60 * 60, SECONDS);
        }*/
        public void test(){
            text.setText("Who are you?");
        }
}

\n原样写时,应用程序运行正常。然而,当我取消注释test.test()时,应用程序在尝试在模拟器中运行时会持续关闭。根据我看到的,这可能是更新清单的问题,但我不确定如何修复它。任何帮助将不胜感激!

0
0 Comments

在Android Studio中使用不同的类的问题可能是因为在MainActivity类中的findbyid方法返回null值,因为它超出了范围。解决方法可以是在BeeperControl类中修改test()方法的返回类型为String,并在MainActivity类中使用text.setText(test.test())来设置TextView的文本。

0