[解決済み] 入力イベントの終了を試みたが、入力イベント受信機が既に廃棄されている
2022-02-01 06:31:56
質問
私はオンラインで見たチュートリアルを試しています。アプリはサーバーからJSONfeedを取得し表示します。この部分は正しく動作します。私はこのフィードをカスタムリストビューに表示しようとしています。
public class UserAdapter extends ArrayAdapter<UserData>{
private Context context;
private List<UserData> users_list;
public UserAdapter(Context context, int resource,List<UserData> objects) {
super(context, resource);
this.context= context;
this.users_list= objects;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
LayoutInflater inflater= (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View customview= inflater.inflate(R.layout.item_user, parent, false);
UserData userData= users_list.get(position);
TextView tv = (TextView) customview.findViewById(R.id.textview1);
tv.setText(userData.getName());
return customview;
}
}
私のMainAtivity。
import android.app.ListActivity;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;
import android.os.AsyncTask;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.Toast;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends ListActivity {
List<MyTask> tasks;
List<UserData> userDataList;
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
userDataList= new ArrayList<>();
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.ac) {
if (isOnline()) {
requestData("http://192.168.1.4/database/getInfoDroid.php");
} else {
Toast.makeText(MainActivity.this, "Network Unavailable", Toast.LENGTH_LONG).show();
}
return true;
}
return super.onOptionsItemSelected(item);
}
private void requestData(String uri) {
MyTask task=new MyTask();
task.execute(uri);
}
protected void updateDisplay(){
UserAdapter adapter= new UserAdapter(this,R.layout.item_user,userDataList);
setListAdapter(adapter);
}
protected boolean isOnline(){
ConnectivityManager cm= (ConnectivityManager) getSystemService(CONNECTIVITY_SERVICE);
NetworkInfo netinfo= cm.getActiveNetworkInfo();
if(netinfo!= null && netinfo.isConnectedOrConnecting()){
return true;
}
else {
return false;
}
}
private class MyTask extends AsyncTask {
@Override
protected void onPreExecute() {
}
@Override
protected Object doInBackground(Object[] objects) {
System.out.print("Do in background ");
String content =HttpManager.getData(objects[0].toString());
System.out.print(content);
return content;
}
@Override
protected void onPostExecute(Object o) {
if (o.toString()==null){
Toast.makeText(MainActivity.this,"Cant connect to Web",Toast.LENGTH_LONG).show();
}
userDataList= UserDataJsonParser.parseFeed(o.toString());
System.out.print(userDataList);
updateDisplay();
}
@Override
protected void onProgressUpdate(Object[] values) {
//updateDisplay(values[0].toString());
}
}
}
LogCatです。
11-28 20:50:12.115 28063-28078/hilz.myapplication W/EGL_emulation: eglSurfaceAttrib not implemented
11-28 20:50:12.115 28063-28078/hilz.myapplication W/OpenGLRenderer: Failed to set EGL_SWAP_BEHAVIOR on surface 0xa50c8260, error=EGL_SUCCESS
11-28 20:50:13.287 28063-28063/hilz.myapplication W/InputEventReceiver: Attempted to finish an input event but the input event receiver has already been disposed.
どのように解決するのか?
Public UserAdapter 関数で、super が Objects を渡していない。
そうでなければならない。
public UserAdapter(Context context, int resource,List<UserData> objects)
{
super(context, resource, objects);
this.context= context;
this.users_list= objects;
}
とはならない。
public UserAdapter(Context context, int resource,List<UserData> objects)
{
super(context, resource);
this.context= context;
this.users_list= objects;
}
関連
-
[解決済み】不正なエスケープ文字"㊧"について
-
[解決済み】"|="の意味は何ですか?(パイプ等号演算子)
-
[解決済み】Javaの部分文字列:「文字列のインデックスが範囲外」。
-
[解決済み】-XX:MaxPermSizeは何をするのですか?
-
[解決済み】デフォルトのキーストアファイルが存在しない?
-
[解決済み】keytoolエラー 鍵屋が改ざんされたか、パスワードが不正確だった場合
-
[解決済み】文字列中の � を置換する方法
-
[解決済み】Hibernateの例外「failed to lazily initialize a collection of role」の解決方法
-
[解決済み】javaで無効な文字定数
-
[解決済み】予期しない型エラー
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】javaで指定されたファイルが見つからない
-
[解決済み】StringUtils.isBlank() vs String.isEmpty()
-
[解決済み】不正なエスケープ文字"㊧"について
-
[解決済み】Doubleはdereferencedできない?
-
[解決済み】"|="の意味は何ですか?(パイプ等号演算子)
-
[解決済み] 解決済み】Javaが「型をインスタンス化できない」というエラーを返す [重複] [重複]
-
[解決済み】Gradleがtools.jarを見つけ出さない
-
[解決済み】Eclipseで「JUnitテストが見つかりませんでした。
-
[解決済み】ソースルート外のJavaファイル intelliJ
-
[解決済み】フォルダに書き込もうとすると「java.nio.file.AccessDeniedException」が発生する件