我遵循了这个教程(它已经过时了,但我找不到任何其他人; http://learnandroid.blogspot.com/2008/01/opening-new-screen-in-android.html)
所以,我有它,所以当我点击一些文字时,它应该打开一个不同的布局。
这是我点击打开文本的XML代码:
<TextView android:textAppearance="?android:attr/textAppearanceSmall"
android:layout_height="wrap_content"
android:text="Not a member? Sign up now!"
android:layout_width="wrap_content"
android:id="@+id/signupText"
android:layout_gravity="center"></TextView>
</LinearLayout>
这是布局的Java编码,上面有可点击的文字(第一个“屏幕”):
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
public class NetworkActivity extends Activity {
public void onCreate(Bundle icicle)
{
super.onCreate(icicle);
setContentView(R.layout.main);
TextView click = (TextView) findViewById(R.id.signupText);
click.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
Intent i = new Intent(NetworkActivity.this, Signup.class);
startActivity(i);
}
});
}
}
第二个布局的Java代码:
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
public class Signup extends Activity
{
public void onCreate(Bundle icicle)
{
super.onCreate(icicle);
setContentView(R.layout.signup);
TextView b = (TextView) findViewById(R.id.signupText);
b.setOnClickListener(new View.OnClickListener() {
public void onClick(View arg0) {
setResult(RESULT_OK);
finish();
}
});
}
}
第二种布局的XML代码没有什么特别之处。 (应该吗?)
当我单击模拟器中的文本时,我收到错误信息,表明它已意外关闭。我该如何解决这个问题?
哦,我看到其他问题有点像我的,但他们没有任何帮助。我对这一切都不熟悉,所以如果我做了“错误”的事情,请不要生气。我在这里先向您的帮助表示感谢。 =]
答案 0 :(得分:1)
你使用这种方法对我有用(这里使用按钮)
View.OnClickListener handler = new View.OnClickListener(){
public void onClick(View v) {
switch (v.getId()) {
case R.id.button1:
setContentView(R.layout.layout1);
break;
case R.id.button2:
setContentView(R.layout.layout2);
break;
case R.id.button3:
setContentView(R.layout.layout3);
break;
case R.id.button4:
setContentView(R.layout.layout4);
break;
}
}
};
findViewById(R.id.button1).setOnClickListener(handler);
findViewById(R.id.button2).setOnClickListener(handler);
findViewById(R.id.button3).setOnClickListener(handler);
findViewById(R.id.button4).setOnClickListener(handler);
}
答案 1 :(得分:0)
很可能你没有在Android清单中注册你的第二个活动。您需要为应用中的每个标记创建一个<activity>
标记。 logcat中应该有一个错误,基本上是说“找不到活动(你在清单中声明了吗?)”。
要解决此问题,您需要在<application>
标记中添加标记:
<activity android:name=".Signup" android:label="@string/title_of_the_activity" />
有关详细信息,请参阅<activity>
tag documentation。
答案 2 :(得分:0)
我们可以通过简单的指定来做到这一点 机器人:可点击=&#34;真&#34; 机器人:的onClick =&#34; name_of_method&#34; 在TextView的xml文件中。