[EDIT] I'm new to android development, so please bear with me. I have two java classes named Join Game, extends to AppCompatActivity and HintList,extends to ArrayAdapter<>. This is connected to a database. So maybe its one of the factors?
For the layout of join game, I have a listview
and for the layout of hintlist I have three textview.
The code goes this way
JoinGame
public class JoinGame extends AppCompatActivity {
ListView list;
String[] itemdescription = {};
String[] itemhints = {};
String[] itemlocasyon = {};
ProgressDialog progress;
View view;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_joingame);
    Button schan = (Button)findViewById(R.id.tarascan);
    schan.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            Intent intent = new Intent(JoinGame.this,ScanActivity.class);
            startActivity(intent);
        }
    });
}
 @Override
protected void onStart() {
    super.onStart();
    progress = new ProgressDialog(this);
    progress.setMessage("Connecting...");
    progress.setCancelable(false);
    progress.show();
    RequestFactory.joingameitems(JoinGame.this, RequestFactory.user_id, new RequestCallback<JSONArray>() {
        @Override
        public void onSuccess(final JSONArray response) {
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    RequestFactory.response = response;
                    itemdescription = new String[response.length()];
                    itemhints = new String[response.length()];
                    itemlocasyon = new String[response.length()];
                    for (int hl = 0; hl < response.length(); hl++){
                        try{
                            itemdescription[hl] = ((String)(response.getJSONObject(hl)).get("description"));
                            itemhints[hl] = ((String)(response.getJSONObject(hl)).get("hint"));
                            itemlocasyon[hl] = ((String)(response.getJSONObject(hl)).get("location"));
                        } catch (JSONException e) {
                            e.printStackTrace();
                        }
                    } ////////// below this is the adapter
                    final HintList hladapt = new HintList(JoinGame.this,itemdescription,itemlocasyon,itemhints);
                    list = (ListView)findViewById(R.id.item_hints_and_location);
                    list.setAdapter(hladapt);
                    progress.dismiss();
                }
            });
        }
        @Override
        public void onFailed(final String message) {
            runOnUiThread(new Runnable() {
                @Override
                public void run() {
                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            Toast.makeText(JoinGame.this, message, Toast.LENGTH_LONG).show();
                            progress.dismiss();
                        }
                    });
                }
            });
        }
    });
}
HintList
   public class HintList extends ArrayAdapter<String> {
    private final Activity context;
    private String[] itemDesc = {};
    private String[] itemHints = {};
    private String[] itemLocation = {};
    public HintList(Activity context,String[] itemDesc,String[] itemhints,String[] itemlocation) {
        super(context,R.layout.hints_list);
        this.context = context;
        this.itemDesc = itemDesc;
        itemHints = itemhints;
        itemLocation = itemlocation;
    }
    @Override
    public View getView(int position, View view, ViewGroup parent) {
        LayoutInflater inflater = context.getLayoutInflater();
        View rowView = inflater.inflate(R.layout.hints_list, null, true);
        TextView itemDesc2 = (TextView)rowView.findViewById(R.id.itemdescription);
        TextView itemHint = (TextView)rowView.findViewById(R.id.itemhint);
        TextView itemLocation2 = (TextView)rowView.findViewById(R.id.itemlocation);
        itemDesc2.setText(itemDesc[position]);
        itemHint.setText(itemHints[position]);
        itemLocation2.setText(itemLocation[position]);
        return rowView;
    }
}
I actually retrieved the data (here)
E/DB: [{"description":"chinese garter","location":"near Tricycle station","hint":"garter plus chinese"},{"description":"isang pinoy game","location":"near ....","hint":"may salitang baka"},{"description":"\"tinik\"","location":"below...","hint":"may salitang tinik"},{"description":"aka Tinubigan","location":"at the back...","hint":"katunog ng pintero"},{"description":"\"knock down the can\"","location":"near...","hint":"gumagamit ng lata"}]
but it doesnt display on my listview I dont know anymore what I should do. I actually tried making this (I added view)
final HintList hladapt = new HintList(JoinGame.this,itemdescription,itemlocasyon,itemhints);
                    list = (ListView)view.findViewById(R.id.item_hints_and_location);
                    list.setAdapter(hladapt);
                    progress.dismiss();
but it will only returns an error of java.lang.NullPointerException: Attempt to invoke virtual method
 
     
     
     
    