带有长文本的TextView

时间:2013-10-07 04:13:46

标签: android nullpointerexception textview

我正在尝试创建一个只包含TextView的简单活动。我使用了ScrollView。它总是会出现NullPointerException错误。

这是XML

<ScrollView
android:id="@+id/SCROLLER_ID"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical"
android:fillViewport="true">

  <TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:text="@string/about"
    android:textAppearance="?android:attr/textAppearanceLarge" />

</ScrollView>

以下是代码:

public class About extends Activity {

private TextView tv;
@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_about);

    tv.findViewById(R.id.textView1);
}

}

这是@ string / about:

VISION

印度是世界第四大能源消费国,但其原油需求的83%来自进口而非国内生产。由于进口石油价格导致的通货膨胀给政府施加压力,迫切需要寻求能源和安全。到目前为止,我们无法弥合这一关键部门的供需缺口。到2030年实现能源安全的稳定和增长的关键在于减少对海外能源的依赖,印度仍然远远没有这个值得称赞和雄心勃勃的目标。

2013年PETROFIESTA是由石油工程师协会(SPE)IIT Kharagpur分会组织的全国任何一所教育机构的首个石油导向盛会。该节日的目标是成为石油和老年人退伍军人的年度平台。天然气工业与各国的学术界和年轻人分享知识和专业知识。 IIT Kharagpur的专职学生的这一举措旨在探索石油和天然气行业上游,中游和下游领域的创新智能技术理念。

2013年PETROFIESTA设想利用全球主要机构的学生知识库,以综合方式发展他们的见解,探索勘探,钻井,生产和加工,炼油,管道,运输,石化,经济,研究等领域的增长和发展,信息技术和环境管理。它要求通过可持续发展和智能技术的发展来增加国内生产,特别是来自非常规来源,这最近成为全球能源利益相关者关心的问题。

通过Petrobotics,PetroEntrepreneur,Petro Discussion和Industrial Design Problems以及一系列客座讲座等活动,我们希望为石油行业面临的实时问题提供实时解决方案。

正如联合国秘书长潘基文所正确引用的那样:

“我们都需要在可持续的未来成为利益相关者。”

4 个答案:

答案 0 :(得分:1)

以下行导致问题

tv.findViewById(R.id.textView1);//here tv is null

将此行更改为

tv = (TextView) findViewById(R.id.textView1);

答案 1 :(得分:0)

您想在Activity内找到一个视图并将其设置为tv。 您的代码有两种错误:

  1. 当您尝试访问时,tv为null。
  2. 您想在TextView内找到TextView。但是你想在Activity内找到视图。正确?
  3. 更改

    tv.findViewById(R.id.textView1);
    

    tv = (TextView) findViewById(R.id.textView1);
    

答案 2 :(得分:0)

您需要初始化textview

  tv = (TextView)findViewById(R.id.textView1);

并删除此

  tv.findViewById(R.id.textView1);

答案 3 :(得分:0)

试试这个,

TextView Txt = (TextView)findViewById(R.id.textView1));