내 검색에 표시하고 싶다면 내 단어를 입력해야합니다. 내게 토스트해야합니다. 내게 토스트해야합니다. "No Result.but 문제는 0.5 초 후에 데이터를 가져옵니다 .so서버에서 데이터가없는 경우 메시지를 토스트
String text = txtsearch.getText().toString();
new AsyncTaskSearch("http://192.168.1.100/afgApp/search.php", text).execute();
final Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
runOnUiThread(new Runnable() {
@Override
public void run() {
if (!Activity_Search.data.equals("")) {
Toast.makeText(Activity_Search.this, data, Toast.LENGTH_SHORT).show();
timer.cancel();
}else {
Toast.makeText(Activity_Search.this, "No results", Toast.LENGTH_SHORT).show();
}
}
});
}
},1,500);
Activity_Search.data = "";
}
//Asynctask.java
, 비슷한 단어가없는 경우 내가 첫 번째 버튼을 클릭하여 다음 검색 결과를 토스트없는 데이터를 가져 와서 원하는 recyclerview.I에서 그들을 표시 할 때 나에게 마지막에 결과를 토스트 없습니다public class AsyncTaskSearch extends AsyncTask{
public String link="";
public String text="";
public AsyncTaskSearch(String link,String text){
this.link=link;
this.text=text;
}
@Override
protected Object doInBackground(Object[] params) {
try{
String data= URLEncoder.encode("text","UTF8")+"="+URLEncoder.encode(text,"UTF8");
URL url=new URL(link);
URLConnection connection=url.openConnection();
connection.setDoOutput(true);
OutputStreamWriter writer=new OutputStreamWriter(connection.getOutputStream());
writer.write(data);
writer.flush();
BufferedReader reader=new BufferedReader(new InputStreamReader(connection.getInputStream()));
StringBuilder builder=new StringBuilder();
String line=null;
while((line=reader.readLine())!=null){
builder.append(line);
}
Activity_Search.data=builder.toString();
}catch (Exception e){
}
return "";
}
}
토스트를 구성하는 방법에 대한 더 나은 의견을 얻기 위해'AsyncTaskSearch' 코드를 게시하십시오. 그러나 내 주석은 여전히 그대로 있습니다. AsyncTask의 onPostExecute에서 토스트하고 싶습니다. – Shark