How to resolve Android Studio error: Cannot find symbol method start

How to resolve Android Studio error: Cannot find symbol method start

我从其中一个模板创建了一个基本的 Android Studio 应用程序,并试图从 onCreate 中的预构建处理程序调用一个线程 (Runnable)。我所做的只是添加扩展 Runnable 的 class,然后在处理程序中使用 class。无法弄清楚为什么我会收到编译错误:

找不到符号方法开始

这是唯一的错误,而且刚刚好

new Thread(example.start());

密码是:

public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener {


    static class GetExample implements Runnable
    {
        public void run()
        {    
            Log.i("GetExample class", "Inside GetExample::run()");
            return;
        }
    }


    @Override
    protected void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view)
            {

                Log.i("Inside onCreate()", "TestBed -- onClick() invoked");

                try
                {
                    GetExample example = new GetExample();
                    new Thread(example.start());
                }
                catch (IOException ex)
                {
                    Log.i("Inside onCreate()", "TestBed -- IOException occurred");
                }
            }
        });

        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
        drawer.setDrawerListener(toggle);
        toggle.syncState();

        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(this);
    }
 . . .
new Thread(new GetExample()).start();

我一直将 运行 用于 运行nables 并启动线程。 你放在上面的文档中有一个,它是 new Thread ( new Runnable()).start() ,方法 start 应用于线程,而不是 运行nable object

所以您可以使用 运行(),或者您可以创建一个线程 - new Thread 并将 运行nable 对象放入其中,就像文档中的示例一样你把评论。然后调用 start 到线程,而不是 运行nable.