我是android的新手这是我的第一个演示应用。我试图从一个页面导航到另一个页面。但我无法导航到另一个页面,我在主要的xml文件中有一个按钮,并且在舔它正在移动到另一个xml nextpage。我有2个java类:1st MianAcitvity,nextpagejava。 2 xml:activity_main,nextpage
我的代码:清单
<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已经停止了”此消息作为弹出窗口。
任何人都可以告诉我为什么会出现这个错误,请告诉我从哪里可以找到逐行调试日志。
答案 0 :(得分:4)
<activity android:name="nextpagejava" ></activity>
在活动名称前面需要一个“。”..
<activity android:name=".nextpagejava" ></activity>
同时将您的MainActivity名称更改为
<activity android:name=".MainActivity" ></activity>
答案 1 :(得分: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>
然后退房。我认为现在应该可以了。
答案 2 :(得分:1)
你有两个onClick()函数。删除第二行并在按钮的监听器中添加以下两行
Intent in = new Intent(this, nextpagejava.class);
startActivity(in);
这应该让你继续前进。如果仍然存在错误,请发布您的logcat
答案 3 :(得分:1)
从堆栈跟踪中获取大量信息,所以把它放在这里。
但我会说它很可能与某些遗漏声明有关(例如试图点击一个尚未初始化的按钮);很常见的问题。
编辑:可能使用Intent应该解决你的问题。