Android java意图和活动

Android java意图和活动,java,android,xml,Java,Android,Xml,请放心,这是我的第一个Android项目 我一直在制作一个简单的Java类,Event,并为其制作CRUD函数。现在我正在做布局,不知道单击按钮后如何启动这些活动。这就是我正在使用的代码 activity_main.xml <Button android:id="@+id/newEventButton" android:layout_width="wrap_content" android:layout_height="wrap_conten

请放心,这是我的第一个Android项目

我一直在制作一个简单的Java类,
Event
,并为其制作CRUD函数。现在我正在做布局,不知道单击按钮后如何启动这些活动。这就是我正在使用的代码

activity_main.xml

<Button
        android:id="@+id/newEventButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentRight="true"
        android:text="New Event" />
AndroidManifest.xml

    <activity
        android:name="com.example.eventmanager.AddEventActivity"
        android:label="@string/title_activity_add_event" 
        android:parentActivityName="com.example.eventmanager.MainActivity" 
        android:noHistory="true">
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.example.eventmanager.MainActivity" />
    </activity>


我需要在这些链接
newEventButton
以启动
AddEventActivity.class
的片段中包含什么?

您需要在活动的Java代码中向按钮添加OnClickListener。通常在onCreate()中执行此操作

<activity
    android:name="com.example.eventmanager.MainActivity"
    android:label="@string/title_activity_add_event" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
</activity>
<activity
    android:name="com.example.eventmanager.AddEventActivity"
    android:label="@string/title_activity_add_event" 
        <intent-filter>
            <action android:name="android.intent.action.ADDEVENTACTIVITY" />
            <category android:name="android.intent.category.DEFAULT" />
        </intent-filter>
</activity>

onCreate
的主要活动中,在
setContentView
之后添加以下代码

// get newEventButton    
Button addEvent = (Button) findViewById(R.id.newEventButton);
// Listen for button click and start AddEventActivity 
addEvent.setOnClickListener(new onClickListener()
{
    @Override
     public void onClick(View v)
     {
         startActivity(new Intent(this, AddEventActivity.class);
     }
 });

你能解释一下吗?单击
newEventButton
时,此代码如何知道如何启动?您需要调用destroy your MainActivity以便释放资源。在onPause()中调用finish()或直接调用onDestroy()。单击按钮时,Android将检查指定为“Android.intent.action.ADDEVENTACTIVITY”的意图在manifest中,与该意图相关联的类也在manifest中,该manifest是android:name=“com.example.eventmanager.AddEventActivity”,因此该类将开始处理您的调用startactivityPerfect。感谢您提供的解决方案,感谢您确定我遗漏了什么!
Button b = (Button) findViewById(R.id.newEventButton);
b.setOnClickListener(new onClickListener()
{
@Override
 public void onClick(View v)
{
Intent i = new Intent("android.intent.action.ADDEVENTACTIVITY");
startActivity(i); 
 }
}); 
}
public class MainActivity extends Activity implements OnClickListener {
    public void onCreate(Bundle saved) {
        super.onCreate(saved);
        setContentView(R.layout.activity_main);

        Button button = (Button) findViewById(R.id.newEventButton);
        button.setOnClickListener(this);
    }

    public void onClick(View v) {
        switch(v.getId()) {
        case R.id.newEventButton:
            Intent i = new Intent(this, AddEventActivity.class);
            startActivity(i);
            break;
        }
    }
}
// get newEventButton    
Button addEvent = (Button) findViewById(R.id.newEventButton);
// Listen for button click and start AddEventActivity 
addEvent.setOnClickListener(new onClickListener()
{
    @Override
     public void onClick(View v)
     {
         startActivity(new Intent(this, AddEventActivity.class);
     }
 });