求助:Unfortunately,Launcher has stopped

qq373866166 2014-04-04 04:39:41
但疼的新手,看4.2的教学视频,却用4.4.2的环境,有些不同又不知到如何举一反三,依法炮制,请达人开导。


1.目的:静态显示helloworld然后再用代码动态修改显示HelloWorld!
结果:Unfortunately,Launcher has stopped
过程:代码在最下方
在fragment_main.xml 中写了1个TextView,然后在代码中使用findViewById方法再对fragment _main.xml中的TextView进行修改,程序在虚拟机中不能运行Unfortunately,Launcher has stopped。
郁闷啊,极度打击学习积极性!
fragment_main这个鸟东西在视频教学中根本没有出现过啊!(可能还未出现)

菜鸟的俺花了好长时间搜索查找如何解决,一整天啊,各种方法就不说了最后没解决问题!

2最后呢,发现使用默认自动创建一个helloworld虚拟机运行正常!

3.原来是我不了接这个fragment鸟东西,真不了解。我的目的只是静态显示helloworld然后再用代码动态修改显示HelloWorld!而已啊,竟然报错!!学习兴趣一下子被打击的厉害,搜索出来同样的问题大多是2014年的,也都是新手问的,可是网上没找到能回答清楚的文字。 感叹,新手真的不是那么容易入门的,,,,,,各种纠结,纠结我这帖子发出去当天能不能收到回复,能不能得到清楚的解决或者指明解决方法,方向也是行啊。。。。。。。。。。老人们都是忙加班吧,或许没时间。。。。。

4.菜鸟要得不知是解决当前一个报错问题,而是希望达达们能给一个学习建议和指导行的学习方法


//MainActivity.java
package com.example.test1app;

import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v7.app.ActionBarActivity;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;

public class MainActivity extends ActionBarActivity {

//只是加了3句话,此为第一句定义个私有变量
private TextView tV;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);


if (savedInstanceState == null) {
getSupportFragmentManager().beginTransaction()
.add(R.id.container, new PlaceholderFragment())
.commit();
}

//第二句获取控件对象并向下转型
tV = (TextView)findViewById(R.id.tV);
//模拟器:Unfortunately,Launcher has stopped;注释掉下句模拟器正常显示。
tV.setText("Hello World");//修改文字
}


@Override
public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}

/**
* A placeholder fragment containing a simple view.
*/
public static class PlaceholderFragment extends Fragment {

public PlaceholderFragment() {
}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_main, container, false);
return rootView;
}
}

}


//fragment_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"
android:orientation="vertical"
tools:context="com.example.test1app.MainActivity$PlaceholderFragment" >

<TextView
android:id="@+id/tV"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="#FF0000"
android:text="hello world!" />

</LinearLayout>
...全文
318 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qq373866166 2014-04-07
  • 打赏
  • 举报
回复
是啊,是有两个。为什么呢?以前的一个很好理解,谷歌的更新让人蛋疼,请教这2个啥关系,对初学者有没有什么好的建议吗
卖萌的大叔呀 2014-04-04
  • 打赏
  • 举报
回复
你看你的layout 是不是有两个布局文件 activity_main.xml 和fragment_main.xml 对应在MainActivity.java里面也有两个类MainActivity PlaceholderFragment 默认创建的android工程中的 helloworld的 textview 是在 fragment_main.xml中的 ,所以你要修改它,也应该在PlaceholderFragment类中写代码。
qq373866166 2014-04-04
  • 打赏
  • 举报
回复
可以完全按以前的操作就行,不要管多出来的另一个目录 好像是v7版本的支持框架。也不要删除或者关闭,否则会报错,就在activity_main.xml中定义所用 视图组件就行了,然后再onCreate()方法中加载。 修改.java文件把鸟东西统统删掉就可以和以往正常了,最后java文件的代码很少,看上去也爽了不少!
package com.marschen.s01_e05_view;

import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.view.Menu;
import android.widget.TextView;

public class MainActivity extends ActionBarActivity {

	private TextView textView;//第一句
	
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        
        textView = (TextView)findViewById(R.id.textView);//第二句
        textView.setText("Hello CSDN!");//第三句.其他的鸟东西统统不要 !

        
    }


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

}

80,354

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧