1

我是 android 编程的初学者。所以无法获得 MainActivity 类中的方法。当然google了一下。但没有找到答案。每个教程都要求从 Activity 扩展主类,但我做不到。任何答案,解释,建议表示赞赏。

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends AppCompatActivity {

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

  @Override
  public boolean onCreateOptionsMenu(Menu menu) {
    // Inflate the menu; this adds items to the action bar if it is present.
    getMenuInflater().inflate(R.menu.menu_main, menu);
    return true;
  }

  @Override
  public boolean onOptionsItemSelected(MenuItem item) {
    // Handle action bar item clicks here. The action bar will
    // automatically handle clicks on the Home/Up button, so long
    // as you specify a parent activity in AndroidManifest.xml.
    int id = item.getItemId();

    //noinspection SimplifiableIfStatement
    if (id == R.id.action_settings) {
        return true;
    }

    return super.onOptionsItemSelected(item);
  }
}
4

3 回答 3

3

AppCompatActivity是最新的 Activity 类(其继承是 Activity),它提供与旧手机(2.1+,api 7)的兼容性,因此它将遵循Activity 生命周期(onCreate、onStart、onResume、onPause、onStop、onDestroy)。

使用 AppCompatActivity,您可以使用活动中的所有方法,还可以访问片段(通过 SupportFragmentManager 用于动态 UI)、加载器(通过 SupportLoaderManager 用于 sql 查询)、操作栏(通过 SupportActionBar)。

总结:AppCompatActivity = Activity + 对旧手机的支持。

于 2015-08-26T04:28:57.800 回答
2

AppCompatActivity 是您可以使用的,而不是用于 android sdk v21+ 的 Activity。至于方法,在您的示例中:

onCreate - infaltes 布局,您可以在此方法中进行大量实例化,阅读意图附加内容等。

OnCreateOptionsMenu - 为您在操作栏上显示的 res/menu 中指定的视图扩展菜单。

OnOptionsItemSelected - 您可以指定单击菜单项时应启动的操作。

于 2015-08-26T06:35:39.823 回答
0

如果您尝试将您的课程扩展到ActionBarActivity?

于 2015-08-26T04:30:30.523 回答