次のコードにコンパイルしようとすると、2つのエラーが発生します。
説明リソースパスの場所タイプトークン「void」の構文エラー、無効な式AsyncTask.java /AsyncTask Project/src/org/me/asynctask
の行19Javaの問題
説明リソースパスロケーションタイプタイプAsyncTask
はジェネリックではありません。<TextView, Void, Void> AsyncTask.java /AsyncTask Project/src/org/me/asynctask
25行目の引数でパラメータ化することはできませんJavaの問題
package org.me.asynctask;
import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.widget.TextView;
import android.widget.Toast;
import android.os.*;
public class AsyncTask extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView mytextview = new TextView(this);
TextView secondtextview = new TextView(this);
new MyAsyncClass().execute(mytextview, void, secondtextview);
}
private class MyAsyncClass extends AsyncTask<TextView, Void, Void> {
protected TextView doInBackground(TextView tv)
{
tv.setText("Your AsyncTask was successful!");
return tv;
}
protected void onPostExecute(TextView Result)
{
Context context = context.getApplicationContext();
Toast mytoast = Toast.makeText(context, "AsyncTask processing complete", Toast.LENGTH_LONG);
mytoast.show();
}
}
明らかAsyncTask
にジェネリック(http://developer.android.com/reference/android/os/AsyncTask.html#execute(Params ...)) なので、なぜこれらのエラーが発生するのですか?