3

我是 android 新手,这是我的第一个演示应用程序。我正在尝试从一页导航到另一页。但我无法导航到另一个页面,我在可能的主 xml 文件中有一个按钮,并且在舔它时它正在移动到另一个 xml 下一页。我有 2 个 java 类:第一个 MianAcitvity,nextpagejava。2 xml:activity_main,下一页

我的代码:清单

      <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;


              }
           }
          }

活动主文件.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"
          />

下一页.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"
             />

下一页java.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 已停止”此消息作为弹出窗口。

谁能告诉我为什么会出现这个错误,请告诉我从哪里可以找到逐行调试日志。

4

4 回答 4

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

在活动名称前需要一个“.”..

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

还将您的 MainActivity 名称更改为

<activity android:name=".MainActivity" ></activity>
于 2013-01-09T10:52:13.467 回答
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>

然后退房。我认为它现在应该可以工作了。

于 2013-01-09T10:54:48.463 回答
1

你有两个 onClick() 函数。删除第二个并在按钮的侦听器内添加以下两行

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

那应该让你继续前进。如果错误仍然存​​在,请发布您的 logcat

于 2013-01-09T10:45:46.053 回答
1

从堆栈跟踪中你会得到很多信息,所以把它放在这里。

但我会说这很可能与一些缺少的声明有关(例如尝试单击尚未初始化的按钮);很常见的问题。

编辑:可能使用 Intent 应该可以解决您的问题。

于 2013-01-09T10:46:00.140 回答