I know something I have written wrong here, I am trying to display multiline items dynamically from JSON but getting following exception,
01-22 11:18:27.814: E/AndroidRuntime(438): FATAL EXCEPTION: main
01-22 11:18:27.814: E/AndroidRuntime(438): java.lang.NullPointerException
01-22 11:18:27.814: E/AndroidRuntime(438): at com.nokia.item.MultiLineItem.createView(MultiLineItem.java:44)
01-22 11:18:27.814: E/AndroidRuntime(438): at com.nokia.view.ViewFactory.getView(ViewFactory.java:122)
01-22 11:18:27.814: E/AndroidRuntime(438): at com.nokia.view.DocumentList.createView(DocumentList.java:52)
01-22 11:18:27.814: E/AndroidRuntime(438): at com.nokia.view.ViewFactory.getContainer(ViewFactory.java:85)
01-22 11:18:27.814: E/AndroidRuntime(438): at com.nokia.controller.Controller.createDocument(Controller.java:415)
01-22 11:18:27.814: E/AndroidRuntime(438): at com.nokia.model.SublistChooser.checkNextListTemplate(SublistChooser.java:99)
01-22 11:18:27.814: E/AndroidRuntime(438): at com.nokia.model.SublistChooser.checkNextListTemplate(SublistChooser.java:96)
01-22 11:18:27.814: E/AndroidRuntime(438): at com.nokia.model.SublistChooser.start(SublistChooser.java:50)
01-22 11:18:27.814: E/AndroidRuntime(438): at com.nokia.controller.Controller.startDocument(Controller.java:387)
01-22 11:18:27.814: E/AndroidRuntime(438): at com.nokia.controller.Controller.startDocument(Controller.java:379)
01-22 11:18:27.814: E/AndroidRuntime(438): at com.nokia.action.ActionExecutor.executeTaskAction(ActionExecutor.java:445)
01-22 11:18:27.814: E/AndroidRuntime(438): at com.nokia.action.ActionExecutor.onAction(ActionExecutor.java:288)
01-22 11:18:27.814: E/AndroidRuntime(438): at com.nokia.action.Action.execute(Action.java:133)
01-22 11:18:27.814: E/AndroidRuntime(438): at com.nokia.view.PopupList$1.onClick(PopupList.java:72)
01-22 11:18:27.814: E/AndroidRuntime(438): at com.android.internal.app.AlertController$AlertParams$3.onItemClick(AlertController.java:920)
01-22 11:18:27.814: E/AndroidRuntime(438): at android.widget.AdapterView.performItemClick(AdapterView.java:282)
01-22 11:18:27.814: E/AndroidRuntime(438): at android.widget.AbsListView.performItemClick(AbsListView.java:1037)
01-22 11:18:27.814: E/AndroidRuntime(438): at android.widget.AbsListView$PerformClick.run(AbsListView.java:2449)
01-22 11:18:27.814: E/AndroidRuntime(438): at android.widget.AbsListView$1.run(AbsListView.java:3073)
01-22 11:18:27.814: E/AndroidRuntime(438): at android.os.Handler.handleCallback(Handler.java:587)
01-22 11:18:27.814: E/AndroidRuntime(438): at android.os.Handler.dispatchMessage(Handler.java:92)
01-22 11:18:27.814: E/AndroidRuntime(438): at android.os.Looper.loop(Looper.java:132)
01-22 11:18:27.814: E/AndroidRuntime(438): at android.app.ActivityThread.main(ActivityThread.java:4123)
01-22 11:18:27.814: E/AndroidRuntime(438): at java.lang.reflect.Method.invokeNative(Native Method)
01-22 11:18:27.814: E/AndroidRuntime(438): at java.lang.reflect.Method.invoke(Method.java:491)
01-22 11:18:27.814: E/AndroidRuntime(438): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
01-22 11:18:27.814: E/AndroidRuntime(438): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
01-22 11:18:27.814: E/AndroidRuntime(438): at dalvik.system.NativeStart.main(Native Method)
01-22 11:18:27.973: D/dalvikvm(438): GC_CONCURRENT freed 223K, 5% free 9758K/10247K, paused 9ms+27ms
01-22 11:18:34.123: I/Process(438): Sending signal. PID: 438 SIG: 9
This is the code I am getting NullPointerException
, I don't know how to set view to List. View
is returning Null
but for normal TextFields
its working file. Please post some helpful code.
import java.util.ArrayList;
import java.util.HashMap;
import org.json.JSONObject;
import android.view.View;
import android.widget.ListView;
import com.nokia.view.BaseScreen;
import com.nokia.view.BaseView;
public class MultiLineItem extends Item implements BaseView{
private HashMap items;
private ArrayList list;
public MultiLineItem(BaseScreen pview){
super(pview);
list= new ArrayList();
items = new HashMap();
}
@Override
public int getItemID() {
// TODO Auto-generated method stub
return 0;
}
@Override
public String getValue() {
// TODO Auto-generated method stub
return null;
}
@Override
public View getItem() {
// TODO Auto-generated method stub
return view;
}
public void createView(JSONObject definition) {
String header=definition.optString("header");
items.put("header", header);
String text = definition.optString("text");
items.put("text", text);
list.add(items);
//((ListView)view).addFocusables(list, LIST);
}
public ArrayList getList(){
return list;
}
There is a Widget for that in Android
you have to use ListView
for that. In ListView
set the Adapter
and in Adapter you have to send all the data you get from Json
. Here is the example for doing that Android ListView Tutorial . This tutorial will give you idea how to use ListView in your Application.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.