|
The error log is telling you what the problem is, and where it occurs:
12-15 03:49:51.714: E/AndroidRuntime(1115): java.lang.NullPointerException
12-15 03:49:51.714: E/AndroidRuntime(1115): at uk.co.flumeland.reversi.RevHighScoreAdapter.getView(RevHighScoreAdapter.java:68)
Step through with your debugger and you should see what is null and why.
|
|
|
|
|
RevHighScoreAdapter.java
package uk.co.flumeland.reversi;
import java.util.ArrayList;
import java.lang.String;
import android.app.Activity;
import android.content.Context;
import android.net.Uri;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
public class RevHighScoreAdapter extends ArrayAdapter {
private Score[] scores;
private Context context;
public RevHighScoreAdapter(Context context, Score[] score){
super(context, 0);
scores = score;
this.context = context;
}
@Override
public int getCount() {
return scores.length;
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
Log.i("Reversi, RevHSCustAd getView called", "position = " + position );
if (row == null) {
LayoutInflater inflater = ((Activity) context).getLayoutInflater();
row = inflater.inflate(R.layout.high_scores_listview_row, parent, false);
}
TextView nameTV = (TextView) row.findViewById(R.id.hs_player_name_lv);
ImageView photoIV = (ImageView) row.findViewById(R.id.hs_player_image_lv);
TextView scoreTV = (TextView) row.findViewById(R.id.hs_score_lv);
Log.i("Reversi, RevHSCustAd getView called", "position = " + position );
nameTV.setText(scores[position].getName());
Log.i("Reversi, RevHSCustAd getView called", "position = " + position );
scoreTV.setText(String.valueOf(scores[position].getScore()));
return row;
}
}
Error code? How do I fix it ?
nameTV.setText(scores[position].getName());
Log.i("Reversi, RevHSCustAd getView called", "position = " + position );
scoreTV.setText(String.valueOf(scores[position].getScore()));
|
|
|
|
|
Member 11360501 wrote: How do I fix it ? Fix what? You still have not explained what the error is.
|
|
|
|
|
it is showing runtime error. If it runs highscores menu. Application closed.
Error Log
12-15 03:49:51.124: I/HighScores(1115): getScores() called
12-15 03:49:51.154: I/HighScores(1115): getScores() no scores found
12-15 03:49:51.354: I/Reversi, RevHSCustAd getView called(1115): position = 0
12-15 03:49:51.444: I/Reversi, RevHSCustAd getView called(1115): position = 0
12-15 03:49:51.454: D/AndroidRuntime(1115): Shutting down VM
12-15 03:49:51.454: W/dalvikvm(1115): threadid=1: thread exiting with uncaught exception (group=0xb2a40ba8)
12-15 03:49:51.594: D/dalvikvm(1115): GC_FOR_ALLOC freed 447K, 11% free 4353K/4880K, paused 89ms, total 100ms
12-15 03:49:51.714: E/AndroidRuntime(1115): FATAL EXCEPTION: main
12-15 03:49:51.714: E/AndroidRuntime(1115): Process: uk.co.flumeland.reversi, PID: 1115
12-15 03:49:51.714: E/AndroidRuntime(1115): java.lang.NullPointerException
12-15 03:49:51.714: E/AndroidRuntime(1115): at uk.co.flumeland.reversi.RevHighScoreAdapter.getView(RevHighScoreAdapter.java:68)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.widget.AbsListView.obtainView(AbsListView.java:2263)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.widget.ListView.measureHeightOfChildren(ListView.java:1263)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.widget.ListView.onMeasure(ListView.java:1175)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.view.View.measure(View.java:16497)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1404)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.widget.LinearLayout.measureVertical(LinearLayout.java:695)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.widget.LinearLayout.onMeasure(LinearLayout.java:588)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.view.View.measure(View.java:16497)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.view.View.measure(View.java:16497)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
12-15 03:49:51.714: E/AndroidRuntime(1115): at com.android.internal.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:327)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.view.View.measure(View.java:16497)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5125)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.widget.FrameLayout.onMeasure(FrameLayout.java:310)
12-15 03:49:51.714: E/AndroidRuntime(1115): at com.android.internal.policy.impl.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2291)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.view.View.measure(View.java:16497)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:1916)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1113)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1295)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1000)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5670)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.view.Choreographer$CallbackRecord.run(Choreographer.java:761)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.view.Choreographer.doCallbacks(Choreographer.java:574)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.view.Choreographer.doFrame(Choreographer.java:544)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:747)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.os.Handler.handleCallback(Handler.java:733)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.os.Handler.dispatchMessage(Handler.java:95)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.os.Looper.loop(Looper.java:136)
12-15 03:49:51.714: E/AndroidRuntime(1115): at android.app.ActivityThread.main(ActivityThread.java:5017)
12-15 03:49:51.714: E/AndroidRuntime(1115): at java.lang.reflect.Method.invokeNative(Native Method)
12-15 03:49:51.714: E/AndroidRuntime(1115): at java.lang.reflect.Method.invoke(Method.java:515)
12-15 03:49:51.714: E/AndroidRuntime(1115): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
12-15 03:49:51.714: E/AndroidRuntime(1115): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
12-15 03:49:51.714: E/AndroidRuntime(1115): at dalvik.system.NativeStart.main(Native Method)
12-15 03:49:51.864: W/CursorWrapperInner(1115): Cursor finalized without prior close()
12-15 03:49:54.184: I/Process(1115): Sending signal. PID: 1115 SIG: 9
|
|
|
|
|
It is no use repeatedly posting the same data. I already explained that you need to use your debugger to trap where the error occurs and establish which variable is the null pointer, and what it is supposed to refer to.
|
|
|
|
|
thanks I will use debugger I sent information you
|
|
|
|
|
This is your error
12-15 03:49:51.124: I/HighScores(1115): getScores() called
12-15 03:49:51.154: I/HighScores(1115): getScores() no scores found
So because is not finding any scores, it is returning a null value that is not handled
12-15 03:49:51.714: E/AndroidRuntime(1115): at uk.co.flumeland.reversi.RevHighScoreAdapter.getView(RevHighScoreAdapter.java:68)
so just adding some error handling will fix your problem, easy
I want to die like my grandfather- asleep, not like the passengers in his car, screaming!
|
|
|
|
|
Look at line 68 of RevHighScoreAdapter.java.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
|
|
|
|
|
How to make android device to detect the HID (keyboard,mouse)Devices?
I read Lot of artical saying that "HID devices doesnot kick off USB_ATTACHED intent".
I need to detect the mouse.
Could you tell me please how could I detect the HID devices?
|
|
|
|
|
Hi and Happy New Year!
I'm using ksoap2 to call webservice's method and get exception when bilding envelope:
org.xmlpull.v1.XmlPullParserException: expected: START_TAG {http://schemas.xmlsoap.org/soap/envelope/}Envelope (position:START_TAG <definitions name="WebService" targetnamespace="http://93.174.51.130:7000/WebService">@10:58 in java.io.InputStreamReader@b3e83c10)
Name space in WSDL is "http://93.174.51.130:7000/WebService"
and namespace in code too, what problem, help me please!
I used search but can't find exactly answer
WSDL and code below, Thanks
WSDL: http://93.174.51.130:7000/db1c_rt-lt/ws/WebService.1cws?wsdl
private static final String SOAP_ACTION="http://93.174.51.130:7000/WebService#WebService:Authentication";
private static final String SOAP_METHOD_NAME="Authentication";
private static final String URL = "http://93.174.51.130:7000/db1c_rt-lt/ws/WebService.1cws?wsdl";
private static final String NAMESPACE="http://93.174.51.130:7000/WebService";
public void ExecuteRequest(){
SoapObject Request = new SoapObject(NAMESPACE, SOAP_METHOD_NAME);
Request.addProperty("Login", "Test_User");
Request.addProperty("Password", "ddI334_H23");
Request.addProperty("appGUID", UUID.randomUUID().toString());
SoapSerializationEnvelope soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER12);
soapEnvelope.dotNet = false;
soapEnvelope.setAddAdornments(false);
soapEnvelope.encodingStyle = SoapSerializationEnvelope.ENC;
soapEnvelope.env=SoapSerializationEnvelope.ENV;
soapEnvelope.implicitTypes = true;
HttpTransportSE aht = new HttpTransportSE(URL);
aht.debug = true;
try
{
aht.call(SOAP_ACTION, soapEnvelope);
SoapPrimitive resultString = ( SoapPrimitive)soapEnvelope.getResponse();
Log.i("Check_Soap_Service", "resultString - " + resultString);
}
catch (Exception e)
{
Log.i("Check_Soap_Service","Exception : "+e.toString());
}
finally
{
Log.i(getClass().getSimpleName(),"requestDump : "+aht.requestDump);
Log.i(getClass().getSimpleName(),"responseDump : "+aht.responseDump);
}
}
|
|
|
|
|
I have following code for detection of attached USB.
{
UsbManager manager;
@Override
public void onReceive(Context context, Intent intent) {
Toast.makeText(context, "Broadcast Receiver", Toast.LENGTH_SHORT)
.show();
onNewIntent(intent,context);
}
private void onNewIntent(Intent intent, Context context) {
String intentAction = intent.getAction();
Toast.makeText(context,"Action :" + intentAction, Toast.LENGTH_SHORT).show();
if(intentAction.equalsIgnoreCase("android.hardware.usb.action.USB_DEVICE_ATTACHED"))
{
Toast.makeText(context,"Dveice Attached", Toast.LENGTH_SHORT).show();
handleDevice(intent,context);
}
else if(intentAction.equalsIgnoreCase("android.hardware.usb.action.USB_DEVICE_ATTACHED"))
{
Toast.makeText(context,"Dveice Detached", Toast.LENGTH_SHORT).show();
}
else
{
}
}
private void handleDevice(Intent intent,Context context) {
manager = (UsbManager) context.getSystemService(UsbManager.EXTRA_DEVICE);
HashMap<string,usbdevice> list = manager.getDeviceList();
Iterator<usbdevice> it = list.values().iterator();
while(it.hasNext())
{
UsbDevice device = it.next();
openDevice(device);
}
}
private void openDevice(UsbDevice device) {
UsbDeviceConnection connection = manager.openDevice(device);
int fd = connection.getFileDescriptor();
Log.d("Fd :"+fd,"Text");
}
not firing the USB_DEVICE_ATTACHED event.
|
|
|
|
|
|
You need to handle device attached event itself in launcher activity.On the other hand If you want to handle detached event you need to have a broadcast receiver.
|
|
|
|
|
|
Can any body help me to make android application stape by stape.
|
|
|
|
|
|
|
I've written a few articles on CodeProject that may help, including an introductory article.
Introduction to Xamarin.Android[^]
"There are two ways of constructing a software design: One way is to make it so simple that there are obviously no deficiencies, and the other way is to make it so complicated that there are no obvious deficiencies. The first method is far more difficult." - C.A.R. Hoare
Home | LinkedIn | Google+ | Twitter
|
|
|
|
|
i have a code which get contacts from vcf file and ask user where to save these contact like phone,SIM,google account but i want to directly insert contacts into phonebook with any dialog for asking to save.My code is :-
String tmptype = mime.getMimeTypeFromExtension("vcf");
final File file = new File(Environment.getExternalStorageDirectory().toString()
+ "/contacts.vcf");
Intent i = new Intent();
i.setAction(android.content.Intent.ACTION_VIEW);
i.setDataAndType(Uri.fromFile(file), "text/x-vcard");
startActivity(i);
I am searching on net net but did not get any answer.Please help me to find out solution
modified 23-Dec-14 0:18am.
|
|
|
|
|
I have the following code for mouse detection.
public void detect()
{
Intent intent = getIntent();*
if(intent==null)
{
Toast.makeText(this,"Intent is null",Toast.LENGTH_SHORT).show();
return ;
}
UsbDevice device = (UsbDevice) intent.getParcelableExtra(UsbManager.EXTRA_DEVICE);
if(device==null)
{
Toast.makeText(this,"Device is null:",Toast.LENGTH_SHORT).show();
return ;
}
Toast.makeText(this,"Device Connected :"+device.getDeviceName(),Toast.LENGTH_SHORT).show();
}
AndroidManifest.xml are as follows,
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
="" package="com.example.detectmouse" android:versioncode="1" android:versionname="1.0">
<uses-feature android:name="android.hardware.usb.host">
........
<intent-filter>
<action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED">
<meta-data
android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
="" android:resource="@xml/device_filter">
device_filter.xml are as follows
vendor-id="6127" product-id="6019"
Using Galaxy S3 for running the app.
Giving the message "Device is null"
|
|
|
|
|
package com.blobinfo.contact;
import java.util.*;
import org.json.JSONObject;
import android.os.Bundle;
import android.os.Environment;
import android.app.Activity;
import android.content.Intent;
import android.util.Log;
import android.view.KeyEvent;
import android.view.LayoutInflater;
import android.view.View.OnKeyListener;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.database.Cursor;
import android.widget.AdapterView;
import android.widget.Button;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.AdapterView.OnItemClickListener;
public class ContactList extends Activity {
private EditText contactName;
private Cursor CursorList;
private ListView ContactsListView;
private String rowID;
int count;
private MyDatabase db;
private HashMap<Integer, String> getRowID=new HashMap<Integer, String>();
private List<HashMap<String, String>> listContact=new ArrayList<HashMap<String, String>>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_contact_list);
contactName=(EditText)findViewById(R.id.search_contact);
ContactsListView=(ListView)findViewById(R.id.lstViewContacts);
db = new MyDatabase(this);
CursorList = db.getEmployees();
count=0;
if (CursorList.moveToFirst())
{
do
{
HashMap<String, String> contactDet=new HashMap<String, String>();
String rowID=CursorList.getString(0).toString();
String contactFirstName=CursorList.getString(1).toString();
String contactLastName=CursorList.getString(2).toString();
contactDet.put("name",""+contactFirstName+" "+contactLastName);
listContact.add(contactDet);
getRowID.put(count, rowID);
count++;
}while (CursorList.moveToNext());
}
String[] itemControl = {"name"};
int[] itemLayout={R.id.name};
listContact=sortContact(listContact);
SimpleAdapter adapter = new SimpleAdapter(this.getBaseContext(),listContact,R.layout.list_contact_layout,itemControl,itemLayout);
ContactsListView.setAdapter(adapter);
public View getView(int position, View convertView, ViewGroup parent) {
View view = convertView;
if(view==null)
{
LayoutInflater inflater=getLayoutInflater();
view=inflater.inflate(R.layout.list_contact_layout, parent, false);
TextView textView=(TextView)view.findViewById(R.id.name);
Button cal = (Button) findViewById(R.id.callb);
view.setTag(new Holder(cal,textView));
}
Holder h = (Holder) view.getTag();
h.textView.setText([position]);
return ;
}
}
try
{
contactName.setOnKeyListener(new OnKeyListener()
{
public boolean onKey(View v, int keyCode, KeyEvent event) {
SimpleAdapter adapter=searchViewAdapter(contactName.getText().toString(),CursorList);
ContactsListView.setAdapter(null);
ContactsListView.setAdapter(adapter);
return false;
}
});
}
catch(Exception e)
{
Log.e("Phonebook_TAG","I got an error while searching",e);
}
db.close();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
return true;
}
public SimpleAdapter searchViewAdapter(String search,Cursor crList)
{
crList = db.getsearch();
count=0;
listContact=new ArrayList<HashMap<String,String>>();
if (crList.moveToFirst())
{
do
{
HashMap<String, String> contactDet=new HashMap<String, String>();
String rowID=crList.getString(0).toString();
String fullName=crList.getString(1).toString()+" "+crList.getString(2).toString();
String emailAdd=crList.getString(3).toString();
String phoneNumber=crList.getString(4).toString();
String phoneNumber1=crList.getString(5).toString();
if(fullName.toLowerCase().contains(search.toLowerCase()) && search!="")
{
contactDet.put("name",fullName);
listContact.add(contactDet);
getRowID.put(count, rowID);
count++;
}
else if(phoneNumber.toLowerCase().contains(search.toLowerCase()) && search!="")
{
contactDet.put("name",fullName);
listContact.add(contactDet);
getRowID.put(count, rowID);
count++;
}
else if(emailAdd.toLowerCase().contains(search.toLowerCase()) && search!="")
{
contactDet.put("name",fullName);
listContact.add(contactDet);
getRowID.put(count, rowID);
count++;
}
else if(search=="")
{
contactDet.put("name",fullName);
listContact.add(contactDet);
getRowID.put(count, rowID);
count++;
}
}while (crList.moveToNext());
}
String[] itemControl = {"name"};
int[] itemLayout={R.id.name};
listContact=sortContact(listContact);
SimpleAdapter adapter = new SimpleAdapter(this.getBaseContext(),listContact,R.layout.list_contact_layout,itemControl,itemLayout);
return adapter;
}
public List<HashMap<String, String>> sortContact(List<HashMap<String, String>> contacts)
{
List<String> lst=new ArrayList<String>();
List<HashMap<String, String>> sortContacts=new ArrayList<HashMap<String,String>>();
for(int i=0;i<contacts.size();i++)
{
lst.add(contacts.get(i).get("name")+","+getRowID.get(i));
}
Collections.sort(lst);
getRowID=new HashMap<Integer, String>();
for(int i=0;i<lst.size();i++)
{
HashMap<String, String> hashContacts=new HashMap<String, String>();
String splitData[]=lst.get(i).split(",");
hashContacts.put("name",splitData[0]);
sortContacts.add(hashContacts);
getRowID.put(i, splitData[splitData.length-1]);
}
return sortContacts;
}
}
i need your help
In the fastest time
|
|
|
|
|
What exactly is your question? What problem are you having? What is it doing, and what is it supposed to do? Have you stepped through the code using a debugger? Have you posted just the relevant code?
Member 11315329 wrote: In the fastest time This does not set a good precedent.
"One man's wage rise is another man's price increase." - Harold Wilson
"Fireproof doesn't mean the fire will never come. It means when the fire comes that you will be able to withstand it." - Michael Simmons
"You can easily judge the character of a man by how he treats those who can do nothing for him." - James D. Miles
|
|
|
|
|
I am very new to android. I want to develop an android application for sound analysis of audio signals using contonous wavelet transform. I am confused as i dont know where should i start from.
|
|
|
|
|
Member 11310952 wrote: I am confused as i dont know where should i start from. I suggest you start from Here[^].
|
|
|
|
|
Linky[^]
Has anyone installed and played with this one yet?
To err is human to really mess up you need a computer
|
|
|
|
|