私はリストビューを設定する要素のリストを持っています。私が一度タップすると、私のサーバーにリクエストが行われ、タップが作成されたときにトーストが表示され、応答が入ったときに別のトーストが表示されます。この間、クリックするとリストビューを無効にしたいと思います。それを行う最良の方法は何ですか?私は単純なブール値を試してみましたが、どういうわけか、サーバーからの応答が来る前にいつも元の状態に戻りました。また、レイアウト要素を無効にしようとしましたが、行きません。提案?onclick listview要素の後にリスナーを無効にします。android
//beginning of my FirstClass
static boolean wait = false;
//...some code
setListAdapter(new ArrayAdapter<String>(this, R.layout.main, arraylist));
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
if(!wait){
wait = true;
Toast.makeText(getApplicationContext(), "Processing...",Toast.LENGTH_SHORT).show();
String URL = "myurl";
new RequestTask(getApplicationContext()).execute(URL);
}
}
});
、その後、私のRequestTaskクラス内
@Override
protected void onPostExecute(String result) {
super.onPostExecute(result);
Toast.makeText(this.context, result,Toast.LENGTH_SHORT).show();
FirstClass.wait = false; // turn it back to false?
}
...
申し訳ありませんが、私はあなたの質問が間違って得た場合RequestTask noの中で私のブール値への参照なしでこれをしますか?どのように動作させようとしているのかを示すコードをいくつか追加しましたが、応答がサーバーから来る前でもfalseに戻っています。私はonPostExecuteが最後に起こるはずなので、それがどのように可能であるのか理解していません(それはそのトーストに当てはまります) –