【发布时间】:2015-05-20 04:48:42
【问题描述】:
如何在 Android 中使用按钮启动新 Activity?
这是我的应用中按钮“A”的代码:
final TextView parkAvaliableA = (TextView) findViewById(R.id.parkASlot);
parkAvaliableA.setText("Available Slot : " + SlotA.available_slot);
Button buttonA = (Button) findViewById(R.id.parkA);
buttonA.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if(SlotA.available_slot == 0)
{
Toast.makeText(getApplicationContext(),
"Parking slot A is full",
Toast.LENGTH_SHORT).show();
}
else
{
SlotA.available_slot -= 1;
db.updateSlot(new ParkingSlot());
}
parkAvaliableA.setText("Available Slot : " + SlotA.available_slot);
Intent myIntent = new Intent(MainMap.this, ParkA.class);
MainMap.this.startActivity(myIntent);
}
});
当我按下按钮时,应用程序崩溃了。 MainMap.this.startActivity(myIntent); 错了吗?
更新:
这是我的清单:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.km.parkit"
android:versionCode="1"
android:versionName="1.0" >
<uses-permission android:name="android.permission.NFC" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_MOCK_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_LOCATION_EXTRA_COMMANDS" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-feature
android:name="android.hardware.nfc"
android:required="true" />
<uses-sdk
android:minSdkVersion="14"
android:targetSdkVersion="21" />
<application
android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".MainMap"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="application/com.km.parkit" />
</intent-filter>
</activity>
<activity
android:name="com.km.parkit.parka"
android:label="@string/app_name" />
<activity
android:name="com.km.parkit.parkb"
android:label="@string/app_name" />
<activity
android:name="com.km.parkit.parkc"
android:label="@string/app_name" />
<activity
android:name="com.km.parkit.parkd"
android:label="@string/app_name" />
<!-- Google Maps API Key -->
<meta-data
android:name="com.google.android.maps.v2.API_KEY"
android:value="AIzaSyBf-0hUDrDTK-NOveZrnT8wec5TTTLqjAw" />
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
</application>
</manifest>
我已经在应用程序中声明了其他类,有什么遗漏吗?
【问题讨论】:
-
什么是
MainMap? logcat 在哪里?发表它。If you want help!!!! -
签入清单有
-
发布错误日志,以便我们为您提供帮助。
-
MainMap 是 main 之后的类,它是通过将支持 NFC 的设备轻敲到 NFC 标签或贴纸上来启动的。我刚刚发布了清单。我想我有什么问题。 . 抱歉我通过logcat发现了问题,因为通常我在安装应用程序后拔下设备,所以我跟踪它,这一切都是因为我将这些类命名为ParkA到ParkD并将它们声明为parka到parkd ..
标签: android android-activity android-button