2012-03-09 15 views
10

के साथ प्रारंभ गतिविधि Ive एक समस्या है। मैं एक बटन के साथ एक गतिविधि खोलना चाहता हूं लेकिन यह हर समय दुर्घटनाग्रस्त हो जाता है। इसलिए मैंने 2 कक्षाएं और एक बटन बनाया। लेकिन यह दुर्घटनाग्रस्त रहता है।बटन एंड्रॉइड

  1. कक्षा गतिविधि_होम क्लास() और दूसरा शेड्यूल_एक्ट() कक्षा है।

activity_home वर्ग:

package my.action.bat; 

    import android.app.Activity; 
    import android.content.Intent; 
    import android.os.Bundle; 
    import android.view.View; 
    import android.widget.Button; 

    public class activity_home extends Activity { 

     private Button ScheduleBtn; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      // TODO Auto-generated method stub 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 

      ScheduleBtn = (Button) findViewById(R.id.home_btn_schedule); 

      ScheduleBtn.setOnClickListener(new View.OnClickListener() { 

       public void onClick(View v) { 
        // TODO Auto-generated method stub 


        Intent myIntent = new Intent("my.action.bat.schedule_act"); 
        startActivity(myIntent); 


       } 
      }); 
     } 





    } 

schedule_act वर्ग:

package my.action.bat; 

    import android.app.Activity; 
    import android.os.Bundle; 

    public class schedule_act extends Activity { 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      // TODO Auto-generated method stub 
      super.onCreate(savedInstanceState); 

      setContentView(R.layout.schedule_layout); 
     } 



    } 

एंड्रॉयड मैनिफ़ेस्ट:

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

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

     <application 
      android:icon="@drawable/ic_launcher" 
      android:label="@string/app_name" > 
      <activity 
       android:label="@string/app_name" 
       android:name=".activity_home" > 
       <intent-filter > 
        <action android:name="android.intent.action.MAIN" /> 

        <category android:name="android.intent.category.LAUNCHER" /> 
       </intent-filter> 
      </activity> 

      <activity 
       android:label="@string/app_name" 
       android:name=".schedule_act" > 
       <intent-filter > 
        <action android:name="my.action.bat.SCHEDULE_ACT" /> 

        <category android:name="android.intent.category.DEFAULT" /> 
       </intent-filter> 
      </activity> 
     </application> 

    </manifest> 

बहुत बहुत धन्यवाद।

+0

क्या अपवाद फेंक दिया जा रहा है ?? –

उत्तर

18

इरादे केस संवेदनशील हैं। बदले

"my.action.bat.schedule_act" 

"my.action.bat.SCHEDULE_ACT" 

इसके अलावा करने के लिए, जब तक आप वास्तव में एक आशय उपयोग करने की आवश्यकता है, मैं अपनी गतिविधि तो

startActivity(new Intent(this, schedule_act.class)); 

की तरह शुरू होगा कहाँ this एक Context उपवर्ग

1

आपको मेनिफेस्ट फ़ाइल में सभी गतिविधि कक्षाएं जोड़नी होंगी !!

+1

उसने किया .... पोस्ट किए गए कोड में अंतिम ' 'लिस्टिंग देखें। –

2
है

लाइन

को बदलने का प्रयास करें
Intent myIntent = new Intent("my.action.bat.schedule_act"); 

Intent myIntent = new Intent(v.getContext(), schedule_act.class); 

करने के लिए और देखते हैं कि अगर मदद करता है।

अधिक जानकारी के लिए here देखें।

3

प्रयास करें इस

localIntent = new Intent(activity_home.this, schedule_act.class); 
    activity_home.this.startActivity(localIntent); 
2

आप इस लाइन

Intent myIntent = new Intent("my.action.bat.schedule_act"); startActivity(myIntent);

इस

Intent intent = new Intent ("Your context", "Your activity to launch"); startActivity(intent);

012 की तरह

कुछ करने के लिए बदल सकते हैं

हमेशा एक संदर्भ और एक गतिविधि को निर्दिष्ट याद रखें।

संबंधित मुद्दे