2017-11-16 6 views
0

私のアプリでは、メッセージが送信された後にリロードされるカスタムアダプタのリストビューを持っています。このアプリケーションは、いくつかのインストールでクラウドします。私はアプリのコンソールにスタックトレースを持っています。ここでは、コード:カスタムadatper getViewはヌルポインタを返します

​​

ここでスタックトレース:

java.lang.NullPointerException: 
    at com.testing.gold.CommunityFragment$IconicAdapter.getView (CommunityFragment.java:945) 
    at android.widget.HeaderViewListAdapter.getView (HeaderViewListAdapter.java:232) 

ライン945:tv.setText(json_data.getString( "ユーザ名"));

+0

おそらくあなたのjson_dataがnullの場合、スタックトレース印刷:キャッチ(JSONException eを){} – diegoveloper

+0

にはキャッチ内部もe.printstacktraceスタックトレース – tobias

+0

印刷JSONについては何もjson_dataとはありません。とログを入れて – diegoveloper

答えて

1

使用以下のコード: クラスIconicAdapterはArrayAdapter { アクティビティコンテキストを拡張します。

IconicAdapter(Activity context) { 
    super(context, R.layout.message_layout, listItems); 

    this.context = context; 
} 

public View getView(int position, View convertView, ViewGroup parent) { 
    convertView=LayoutInflater.inflate(R.layout.message_layout, null); 
    JSONObject json_data = null; 
    try { 
     json_data = jArray.getJSONObject(position); 

    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 
tv = (TextView) convertView.findViewById(R.id.username); 

if(json_data!=null) 
    tv.setText(json_data.getString("username")); 
else 
    tv.setText("") 
+0

あなたは正しいですjson_dataはnullです。しかし、なぜ私は理解していない。それはいくつかの時間といくつかの時間が動作しません。 – tobias

+0

Hmm。 [email protected]でコードを送信してみましょう –

1
class IconicAdapter extends ArrayAdapter<Integer> { 
    Activity context; 

    IconicAdapter(Activity context) { 
    super(context, R.layout.activity_main, new Integer[]{1, 2}); 
    this.context = context; 
} 

public View getView(int position, View convertView, ViewGroup parent) { 

    convertView = LayoutInflater.from(parent.getContext()).inflate(R.layout.activity_main, null); 
    JSONObject json_data = null; 
    try { 
     json_data = jArray.getJSONObject(position); 
     tv = (TextView) convertView.findViewById(R.id.username); 
     tv.setText(json_data.getString("username")); 
    } catch (JSONException e) { 
     e.printStackTrace(); 
    } 

    return convertView; 
} 

}

+0

それはフラグメントで実行されていることは重要ですか? – tobias

+0

フラグメント用にアダプターを使用している場合は、そうではありません。 –

+0

LayoutInflater.inflate私にエラー – tobias

関連する問題