2017-11-24 11 views
1

私は質問hereを質問しました。今私はarraylistを別のアクティビティに渡すことができます。互換性のない型:ArrayList <BasicNameValuePair>?

私の2番目の活動では、私はこのarraylistを投稿しようとしています。

ArrayList<com.example.ss.myapp.BasicNameValuePair> testing = this.getIntent().getParcelableArrayListExtra("extraextra"); 

HttpClient httpclient1 = new DefaultHttpClient(); 
         HttpPost httppost1 = new HttpPost(url); 
         httppost1.setEntity(new UrlEncodedFormEntity((List<? extends org.apache.http.NameValuePair>) testing)); 

私はエラーを取得する:incompatible types: ArrayList<BasicNameValuePair> cannot be converted to List<? extends NameValuePair>

にはどうすればArrayList<NameValuePair> testingArrayList<com.example.ss.myapp.BasicNameValuePair> testingをキャストすることができますか?

+2

あなたのコードはこれまでのところよく見えますが、そのキャストを可能にするために、 'BasicNameValuePair'は' NameValuePair'を拡張する必要があります。これをもう一度確認できますか? –

+0

ありがとう、私がそれをするとき、それは動作します。 @lulian Popescu – user8654574

答えて

1

NameValuePairは、このlinkを参照する必要があります。あなたのクラスは、あなたのリンクによれば、NameValuePairを拡張しません。これを実現するには、コードを変更する必要があります:

public class BasicNameValuePair extends NameValuePair implements Parcelable { 

希望するすべての必要な方法を実装/オーバーライドします。

関連する問題