2013-01-09 83 views
3

我是新來的android這是我的第一個演示程序。我正在嘗試從一個頁面導航到另一個頁面。但我無法導航到另一個頁面,我可能在主XML文件中有一個按鈕,並舔它正在移動到另一個XML下一頁。我有2個java類:1st MianAcitvity,nextpagejava。 2 XML:activity_main,下一頁不幸的是,androiddemo(項目名稱)已停止

我的代碼:清單

 <activity 
     android:name="com.example.androiddemo.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="nextpagejava" ></activity> 

MainActivity.java

package com.example.androiddemo; 
    import android.os.Bundle; 
    import android.app.Activity; 
    import android.content.Intent; 
    import android.drm.DrmStore.Action; 
    import android.view.Menu; 
    import android.view.View; 
    import android.view.View.OnClickListener; 
    import android.widget.Button; 

    public class MainActivity extends Activity implements OnClickListener { 

     @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 

      Button bt = (Button)findViewById(R.id.bnt); 
      bt.setOnClickListener(new View.OnClickListener() { 

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

      } 
      }); 
      } 

      @Override 
      public boolean onCreateOptionsMenu(Menu menu) { 
      // Inflate the menu; this adds items to the action bar if it is present. 
       getMenuInflater().inflate(R.menu.activity_main, menu); 
      return true; 
      } 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
      switch(v.getId()){ 
       case R.id.bnt: 
        Intent in = new Intent(this, nextpagejava.class); 
        startActivity(in); 
       break; 


       } 
      } 
      } 

acitivity_main.xml

  <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:tools="http://schemas.android.com/tools" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      tools:context=".MainActivity" > 

       <TextView 
      android:id="@+id/clicktxt" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="Click"   
     /> 

      <Button 
      android:id="@+id/bnt" 
      android:layout_height="wrap_content" 
      android:layout_width="wrap_content" 
      android:text="Click Me" 
      /> 

nextpage.xml

  <TextView 
      android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="I am i a next page..." 
      /> 

      <Button 
       android:id="@+id/btn1" 
       android:layout_width="match_parent" 
       android:layout_height="wrap_content" 
       android:text="Back" 
      /> 

nextpagejava.java

  package com.example.androiddemo; 

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

      public class nextpagejava extends Activity implements OnClickListener{ 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
       setContentView(R.layout.activity_main); 

      Button bt = (Button)findViewById(R.id.btn1); 
      bt.setOnClickListener(this); 
      } 

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

     } 
     } 

我得到的消息說, 「不幸的是,androiddemo已停止」 此消息作爲一個彈出。

有人可以告訴我爲什麼這個錯誤即將到來,請告訴我從哪裏可以找到逐行調試日誌。

+1

你可以發佈錯誤日誌,請......或者您必須從日誌中標識自己... –

+0

使用logcat檢查堆棧跟蹤並找出發生錯誤(異常)的位置。看看你是否能找到解決方案。如果不是,回來並提供包括堆棧跟蹤在內的實際錯誤! – Veger

+0

你可以在菜單欄中找到logcat - > WindowBar - > ShowView - > logcat –

回答

2

只需從MainActivity.java文件中刪除此:

bt.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      // TODO Auto-generated method stub 
     } 
     }); 

而是寫的是這樣的:

bt.setOnClickListener(this); 

而且做的修改在Manifest文件,如下:

<activity android:name=".nextpagejava" ></activity> 

然後檢查。我認爲它現在應該工作。

1

你有兩個onClick()函數。刪除第二個,並在按鈕的聽衆內部添加以下兩行

Intent in = new Intent(this, nextpagejava.class); 
    startActivity(in); 

這應該讓你繼續。如果仍然錯誤仍然存​​在,請發佈您的logcat

1

從堆棧跟蹤中可以得到很多信息,所以放在這裏。

但我會說這很可能與某些缺失聲明有關(例如嘗試點擊未初始化的按鈕);非常普遍的問題。

編輯:可能使用意圖應該解決您的問題。

4
<activity android:name="nextpagejava" ></activity> 

在活動名稱前面需要一個「。」。

<activity android:name=".nextpagejava" ></activity> 

也能改變你MainActivity名

<activity android:name=".MainActivity" ></activity> 
相關問題