Android java意图和活动
请放心,这是我的第一个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
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);
}
});