Android应用点击跳转后所有Activity标签均显示‘numbers’问题求助
解决所有Activity显示相同“numbers”标签的问题
嘿,我一眼就看到问题所在了——你现在的情况是所有点击操作都跳转到了同一个NumbersActivity,所以不管点哪个选项,打开的都是同一个页面,标签自然全是“numbers”。咱们分两步搞定:
1. 修正MainActivity中的Intent跳转目标类
看你的MainActivity代码,所有TextView的点击事件里,Intent都错误地指向了NumbersActivity.class,比如家庭成员、颜色、短语的跳转都写错了目标类。
错误示例(以Family为例):
Intent familyIntent = new Intent(MainActivity.this, NumbersActivity.class);
修正后的完整点击事件代码:
@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 数字模块点击事件 TextView numbers = (TextView) findViewById(R.id.numbers); numbers.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent numbersIntent = new Intent(MainActivity.this, NumbersActivity.class); startActivity(numbersIntent); } }); // 家庭成员模块点击事件 TextView family = (TextView) findViewById(R.id.family); family.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent familyIntent = new Intent(MainActivity.this, FamilyMembers.class); startActivity(familyIntent); } }); // 颜色模块点击事件 TextView colors = (TextView) findViewById(R.id.colors); colors.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent colorsIntent = new Intent(MainActivity.this, Colors.class); startActivity(colorsIntent); } }); // 短语模块点击事件 TextView phrases = (TextView) findViewById(R.id.phrases); phrases.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Intent phrasesIntent = new Intent(MainActivity.this, Phrases.class); startActivity(phrasesIntent); } }); }
把这几处的Intent目标类改成对应的Activity类,点击不同选项就会打开对应的页面了。
2. 确认字符串资源的正确性(保险检查)
虽然主要问题是跳转错误,但可以顺便确认下res/values/strings.xml里的字符串定义是否正确,确保每个分类的标签不是都设成了“numbers”:
<string name="app_name">numbers</string> <!-- 主Activity默认使用这个标签 --> <string name="category_numbers">numbers</string> <string name="category_colors">Colors</string> <string name="category_phrases">Phrases</string> <string name="category_family">Family Members</string>
完成以上修改后,重新编译运行应用,每个Activity就会显示你在AndroidManifest.xml中设置的对应标签了。
内容的提问来源于stack exchange,提问作者Grey Larkan
相关产品推荐
相关产品推荐

