Android中空指针异常的问题

刘敏smile 发布于 2013/04/15 10:30
阅读 3K+
收藏 0

public class Wifi_Activity extends ListActivity{ 
 
 private TextView mTitleView;
 private ListView listView;
 private DataSource_wifi dataSource;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  prepareView();
  mTitleView.setText(R.string.wifi);
  
  SimpleAdapter adapter = new SimpleAdapter(this,dataSource.getData(),R.layout.wifi,
    new String[]{"text_wifi","image_wifi"},new int[]{R.id.text_wifi,R.id.image_wifi});
  setListAdapter(adapter);   
  
 }
 
 private void prepareView() {
  mTitleView = (TextView) findViewById(R.id.title_text);
  
 }

}

其中 mTitleView.setText(R.string.wifi);报空指针异常,我的strings.xml中有<string name="wifi">WIFI</string>

不知道问题出哪了,希望有人帮忙给看看,谢了

 

加载中
0
叶大侠
叶大侠
mTitleView = (TextView) findViewById(R.id.title_text); 获取失败,你得写出它来自于那个xml文件里面的.
0
尐帥鱼
尐帥鱼
dataSource 是空吗?
0
刘敏smile
刘敏smile
title_view.xml代码如下:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/phonetitlebar_bg" >

    <TextView
        android:id="@+id/title_text"
        style="@style/activity_title_text" />

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/logo" />

</FrameLayout>

0
李天然
李天然
先 setContentView 再用 findViewById
0
刘敏smile
刘敏smile

我的style代码如下:

<resources>
    <style name="activity_title_text">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:layout_gravity">center</item>
       
        <item name="android:textColor">#ffffff</item>
        <item name="android:textSize">25dip</item>
        <item name="android:textStyle">bold</item>
    </style>
</resources>

 

0
刘敏smile
刘敏smile
我的Activity代码如下:

public class Wifi_Activity extends ListActivity{ 
 
 private TextView mTitleView;
 private ListView listView;
 private DataSource_wifi dataSource;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  // TODO Auto-generated method stub
  super.onCreate(savedInstanceState);
  setContentView(R.layout.wifi);
  prepareView();
  mTitleView.setText(R.string.wifi);
  
  SimpleAdapter adapter = new SimpleAdapter(this,dataSource.getData(),R.layout.wifi,
    new String[]{"text_wifi","image_wifi"},new int[]{R.id.text_wifi,R.id.image_wifi});
  setListAdapter(adapter);   
  
 }
 
 private void prepareView() {
  mTitleView = (TextView) findViewById(R.id.title_text);
  
 }

}

0
刘敏smile
刘敏smile
麻烦大家看的时候看我刚刚发表的Activity。谢谢
0
fneg
fneg
setContentView()
0
Jerikc
Jerikc
 setContentView(R.layout.title_view);  应该是你的title_view没有被include到wifi这个layout的话,然而又使用了setContentView(R.layout.wifi);  因此,其实title_text这个id并没有被加载。所以会报异常
0
刘敏smile
刘敏smile

include过了,你看下我我的wifi.xml代码

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >

    <include layout="@layout/title_view" />

    <ListView
        android:id="@+id/listview_wifi"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical" >

        <LinearLayout
            android:orientation="horizontal"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content">

            <ImageView
                android:id="@+id/image_wifi"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_margin="5px" />

            <TextView
                android:id="@+id/text_wifi"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:textColor="#FFFFFFFF"
                android:textSize="22px" />
        </LinearLayout>
    </ListView>

</LinearLayout>

 

返回顶部
顶部