按钮适用于模拟器,但不适用于设备

时间:2017-01-24 18:38:37

标签: java android button sdk onclick

我正在创建一个Android应用程序,它包含一些按钮但是一个按钮在模拟器和一些旧的Android版本(4.1.2,4.4.2,4.4.4)中工作,但不在6.0版本中。我的min sdk版本为14,targetsdk为25.此按钮位于activity_main.xml

这是我的按钮:

<ScrollView
     xmlns:android="http://schemas.android.com/apk/res/android"
     xmlns:app="http://schemas.android.com/apk/res-auto"
     xmlns:ads="http://schemas.android.com/apk/res-auto"
     xmlns:tools="http://schemas.android.com/tools"
     android:id="@+id/content_main"
     android:layout_width="match_parent"
     tools:context="com.example.besart.learngerman.MainActivity"
     tools:showIn="@layout/activity_main"
     android:layout_height="match_parent">

    <LinearLayout
         app:layout_behavior="@string/appbar_scrolling_view_behavior"
         android:layout_height="5000dp"
         android:paddingLeft="5dp"
         android:paddingRight="5dp"
         android:layout_width="match_parent"
         android:orientation="vertical">

        <Button
            android:text="Alfabeti, ditet, numrat,..."
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:id="@+id/button"
            android:background="#551905"
            android:textColor="#fff"
            android:layout_marginTop="5dp"
            android:onClick="alfabetiDheNumratClick" />

    </LinearLayout>
</ScrollView>

这是androidmanifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.besart.learngerman">

    <uses-sdk android:minSdkVersion="14" android:targetSdkVersion="25" />

    <uses-permission android:name="android.permission.INTERNET"/>
    <uses-permission    android:name="android.permission.ACCESS_NETWORK_STATE"/>

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:supportsRtl="false"
        android:label="@string/app_name"

    </application>

Onclick方法:

public void alfabetiDheNumratClick(View view){
    clickbutton.start();
    Intent i = new Intent(this, AlfabetiDheNumratActivity.class);
    startActivity(i);
}

3 个答案:

答案 0 :(得分:1)

您的清单文件中没有注册任何活动。 在

下的清单中注册您的活动
<application>
<activity android:name"your_activity_name"/>
</application>

答案 1 :(得分:0)

尝试

Intent i = new Intent(Your_activity_name.this, AlfabetiDheNumratActivity.class);
    startActivity(i);

OR

<Button
            android:text="Alfabeti, ditet, numrat,..."
            android:layout_width="match_parent"
            android:layout_height="50dp"
            android:id="@+id/button"
            android:clickable="true"
            android:background="#551905"
            android:textColor="#fff"
            android:layout_marginTop="5dp"
            android:onClick="alfabetiDheNumratClick" />

但我不确定它是否能解决你的问题

答案 2 :(得分:0)

前两天我遇到了同样的问题,但现在问题已解决。这是我的compilesdkVersion的问题。实际上我的设备是联想API级别23 但在我的gradle文件中,我的compileSdkVersion为24,我已将其更改为23,并且我已将目标sdk版本更改为24.希望这会有所帮助。

`apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "27.0.3"
    defaultConfig {
        applicationId "com.shiv.demoapp"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner 

    "android.support.test.runner.AndroidJUnitRunner"
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
    }

    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
            exclude group: 'com.android.support', module: 'support-annotations'
        })
        compile 'com.android.support:appcompat-v7:24.2.1'
        testCompile 'junit:junit:4.12'
    }

`