1
02-27 22:53:13.047: E/AndroidRuntime(11744): FATAL EXCEPTION: main
02-27 22:53:13.047: E/AndroidRuntime(11744): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.itcuties.android.reader/com.itcuties.android.reader.ItemDescriptionActivity}: java.lang.NullPointerException
02-27 22:53:13.047: E/AndroidRuntime(11744):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2180)
02-27 22:53:13.047: E/AndroidRuntime(11744):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
02-27 22:53:13.047: E/AndroidRuntime(11744):    at android.app.ActivityThread.access$600(ActivityThread.java:141)
02-27 22:53:13.047: E/AndroidRuntime(11744):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
02-27 22:53:13.047: E/AndroidRuntime(11744):    at android.os.Handler.dispatchMessage(Handler.java:99)
02-27 22:53:13.047: E/AndroidRuntime(11744):    at android.os.Looper.loop(Looper.java:137)
02-27 22:53:13.047: E/AndroidRuntime(11744):    at android.app.ActivityThread.main(ActivityThread.java:5041)
02-27 22:53:13.047: E/AndroidRuntime(11744):    at java.lang.reflect.Method.invokeNative(Native Method)
02-27 22:53:13.047: E/AndroidRuntime(11744):    at java.lang.reflect.Method.invoke(Method.java:511)
02-27 22:53:13.047: E/AndroidRuntime(11744):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
02-27 22:53:13.047: E/AndroidRuntime(11744):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
02-27 22:53:13.047: E/AndroidRuntime(11744):    at dalvik.system.NativeStart.main(Native Method)
02-27 22:53:13.047: E/AndroidRuntime(11744): Caused by: java.lang.NullPointerException
02-27 22:53:13.047: E/AndroidRuntime(11744):    at com.itcuties.android.reader.ItemDescriptionActivity.onCreate(ItemDescriptionActivity.java:18)
02-27 22:53:13.047: E/AndroidRuntime(11744):    at android.app.Activity.performCreate(Activity.java:5104)
02-27 22:53:13.047: E/AndroidRuntime(11744):    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1080)
02-27 22:53:13.047: E/AndroidRuntime(11744):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2144)
02-27 22:53:13.047: E/AndroidRuntime(11744):    ... 11 more

そしてItemDescriptionActivity.java

package com.itcuties.android.reader;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;
import com.itcuties.android.reader.R;

public class ItemDescriptionActivity extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.item);

        Bundle bundle = getIntent().getExtras();
        String item_description = bundle.getString("description");

        TextView desc = (TextView) findViewById(R.layout.item);
        desc.setText(item_description);
    }
}

アプリは RSS データを取得しており、リスト ビューでタイトルを表示しています。クリックでショーの説明を追加しようとしていますが、クリックでアプリがクラッシュします。これらのエラーの原因は何ですか?

4

1 に答える 1

2

idtoを渡す必要があります。findViewById()おそらく を使用するつもりfindViewById(R.id.item);でした。それでも同じ LogCat エラーが発生する場合は、レイアウトに実際に id: の TextView があることを確認してitem.xmlください@+id/item

また、すべてのアクティビティがインテントで開始されるわけではなく、すべてのインテントにエクストラがあるわけでもありませんnull。使用する前に、これらの値のいずれでもないことを確認する必要があります。


別の RSS 値を追加する

説明とともにリンクを渡しましょう。

public void onItemClick(AdapterView<?> parent, View view, int pos, long id) {   
    Intent intent = new Intent(activity, ItemDescriptionActivity.class);

    RSSItem item = listItems.get(pos);
    intent.putExtra("description", item.getDescription());
    intent.putExtra("link", item.getLink());
    activity.startActivity(intent);
}   

次に、内部に新しいクラス変数を作成しますItemDescriptionActivity

String item_link;

最後に、Web ページでリンクを開くようにボタンを設定します。

item_link = bundle.getString("link");
Button link = (Button) findViewById(R.id.button1);
link.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View view) {
        Intent browse = new Intent(Intent.ACTION_VIEW, Uri.parse(item_link));
        startActivity(browse);
    }
}
于 2013-02-27T21:27:54.550 に答える