2012-02-28 1 views
0

Я пытаюсь инициализировать мое текстовое представление, используя статическую строку, когда я запускаю эту активность, но эмулятор всегда заставляет закрывать активность. Может ли кто-нибудь мне помочь?Как получить статическую строку инициализировать текстовое представление при запуске активности?

Вот код:

// ServiceAct.java 
public class ServiceAct extends Activity 
{ 
    static String[] phoneno = {"No Number", "No Number", "No Number"}; 

    /** Called when the activity is first created. */ 
    @Override 
    public void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     // to set the contacts value in status module 
     TextView v1 = (TextView) findViewById(R.id.stat_con1); 
     v1.setText(phoneno[0]); 

     //remaining code of the activity 
     .... 
    } 
} 

вот LogCat

FATAL EXCEPTION: main java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.service/com.example.service.ServiceAct}: java.lang.NullPointerException 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1647) 
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663) 
at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931) 
at android.os.Handler.dispatchMessage(Handler.java:99) 
at android.os.Looper.loop(Looper.java:123) 
at android.app.ActivityThread.main(ActivityThread.java:3683) 
at java.lang.reflect.Method.invokeNative(Native Method) 
at java.lang.reflect.Method.invoke(Method.java:507) 
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.NullPointerException 
at com.example.service.ServiceAct.onCreate(ServiceAct.java:31) 
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1611) 

вот код макета:

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:weightSum="1" android:layout_height="fill_parent" android:orientation="horizontal" android:layout_width="fill_parent" android:background="@color/background" > 

    <RelativeLayout android:layout_height="match_parent" android:layout_width="match_parent" android:layout_gravity="center" android:id="@+id/relativeLayout2"> 

     <TextView android:text="No Number" android:id="@+id/stat_con1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:textAppearance="?android:attr/textAppearanceLarge" /> 

    </RelativeLayout> 

</LinearLayout> 
+0

отправить сообщение об ошибке с logcat – Jave

+0

Опубликовать трассировку стека. Я бы предположил, что сила закрыта не из-за использования статической строки для инициализации 'TextView'. –

+0

может у вас здесь сообщения logcat? – jyotiprakash

ответ

1

Из кода вы публикуемую, я вижу два возможных ошибки:

  • TextView v1 имеет нулевое значение, что означает, что файл макета не имеет TextView с идентификатором R.id.stat_con1
  • вид с идентификатором R.id.stat_con1 не TextView и вы не при литье в TextView

Update:

Caused by: java.lang.NullPointerException 
at com.example.service.ServiceAct.onCreate(ServiceAct.java:31) 

Проверка линии 31 ... что-то в тха t строка равна нулю.

+0

Файл макета имеет TextView с идентификатором «stat_con1» .. так что обе ошибки невозможны – Nikunj

+0

Можете ли вы включить также код макета? –

+0

вот он .. разместили макет – Nikunj

1

Вы пытались очистить свой проект? Это выглядит так же, как такая ошибка (потому что все остальное выглядит прекрасно). Если вы работаете в Eclipse, перейдите в проект -> clean. Выберите все проекты. Послесловие, возможно, потребуется перестроить. Также, если это не поможет, попробуйте перезапустить вашу среду IDE.

Смежные вопросы