Я создаю приложение для Android, которое может удалять данные из JSON с помощью HTTP DELETE. Но я столкнулся с проблемой. Я создал 2 разных файла. Один из MainActivity и другой из Async.Невозможно найти метод в моем классе Async
MainActivity.java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
onClickButtonListner();
}
public void onClickButtonListner() {
final Button btn = (Button) findViewById(R.id.delete_btn);
final String URL = myurl;
btnDelete.setOnClickListener(
new View.OnClickListener() {
@Override
public void onClick(View v) {
Async asyn = new Async(URL);
asyn.execute();
}
});
}
}
Async.java
public class Async extends AsyncTask<Void, Void, String> {
String murl;
public Async(String url) {
murl = url;
}
@Override
protected String doInBackground(Void... params) {
HttpURLConnection httpURLConnection;
URL url ;
try {
final EditText id= (EditText)findViewById(R.id.delete_id);
**showing unable to resolve method findViewById**
String delete_url = murl + "/" + id.getText().toString();
url = new URL(delete_url);
httpURLConnection = (HttpURLConnection) url.openConnection();
httpURLConnection.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
httpURLConnection.setRequestMethod("DELETE");
httpURLConnection.connect();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
}
}
Так что моя проблема в том, что мой класс Асинхронный показывает Невозможно найти метод findViewById.
Так, пожалуйста, помогите мне, как решить эту проблему Спасибо
Спасибо @pRaNaY Теперь я также хочу реализовать GET, POST, PUT, используя одиночную AsyncTask. В настоящее время у меня разные AsyncTask для каждого GET, POST, PUT. Так скажи мне, как переключаться между этим. Значит, когда я нажимаю Обновить, чем метод обновления в async-задании, будет запущен и т. Д. – Ghost
Можете ли вы мне помочь – Ghost
Вы можете добавить новый параметр в конструктор Asynk для реализации другого метода. например: 'public Async (String url, String _id, String methodType) {..}' и использовать тип метода в 'doInBackground'. – pRaNaY