单击按钮后,不要打开新活动

时间:2014-08-10 13:04:53

标签: android button android-activity manifest

点击一个按钮后我在午餐时遇到一些问题,我已经检查了数百次代码,但我没有发现我认为它在清单中的错误。

你能帮帮我吗?

清单信息:

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

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="18" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.productioncontrolinventory.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="com.example.productioncontrolinventory.Editacountentry" android:label="@string/app_name">
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity><activity android:name="com.example.productioncontrolinventory.Inputinventory" android:label="@string/app_name">
            <intent-filter>
                <category android:name="android.intent.category.DEFAULT" />
            </intent-filter>
        </activity></application>

</manifest>

MainActivity代码:

case R.id.bInputInventory:
                //Go to Input screen
                try{
                    Class ourClass = Class.forName("com.example.productioncontrolinventory.Inputinventory");
                    Intent ourIntent = new Intent(MainActivity.this, ourClass);
                    startActivity(ourIntent);
                 }catch(ClassNotFoundException g){
                        g.printStackTrace();
                        }
                break;

由于

3 个答案:

答案 0 :(得分:0)

为什么不简单地使用:

Intent i = new Intent(MainActivity.this , Inputinventory.class );
startActivity(i);

if&#34; Inputinventory.java&#34;扩展Fragment,以这种方式表达你的意图:

Context context;
Intent intent = new Intent(context ,Inputinventory.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);

注意:在第二个条件中,您必须在构造函数中初始化上下文变量!

答案 1 :(得分:0)

您可以尝试使用

Class ourClass = Class.forName("com.example.productioncontrolinventory.Inputinventory");
Intent ourIntent = new Intent(getApplicationContext(), ourClass);
startActivity(ourIntent);

或者只是

Intent ourIntent = new Intent(getApplicationContext(), Inputinventory.class);
startActivity(ourIntent);

而不是

Class ourClass = Class.forName("com.example.productioncontrolinventory.Inputinventory");
Intent ourIntent = new Intent(MainActivity.this, ourClass);
startActivity(ourIntent);

如果这一切都不起作用,你应该通过任何其他命令检查你的按钮是否正常工作(如吐司通知等)。

您的清单文件看起来不错。

答案 2 :(得分:0)

您可以使用以下代码:

{
Button btn;
btn = (Button) findViewbyId(R.id.bInputInventory);
btn.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent ourIntent = new Intent(this, Inputinventory.class);
            startActivity(ourIntent);
        }
    });
}