请耐心等待,这是我的第一个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" />
MainActivity.java;
public void addEvent(MenuItem item) {
Intent i = new Intent(this, AddEventActivity.class);
startActivity(i);
}
的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
相关联的细分中?
答案 0 :(得分:1)
您需要在Activity的Java代码中向Button添加OnClickListener。通常你在onCreate()中执行此操作。
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;
}
}
}
答案 1 :(得分:1)
在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);
}
});
答案 2 :(得分:0)
<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中复制此内容,请不要设置你的onclick监听器
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);
}
});
}