हाल ही में मैं एक ऑनलाइन आधारित छात्र शिक्षक संचार आवेदन पर काम कर रहा हूं। इस ऐप में एक हिस्सा है कि छात्र को शिक्षक को अपनी कक्षा में जोड़ने का अनुरोध भेजना होगा।लिस्टव्यू बटन नाम कैसे बदलें कस्टम एडाप्टर क्लास के अंदर सर्वर अनुरोध भेजने के बाद?
यहाँ कस्टम एडाप्टर getView कोड मैं कहाँ सूचीदृश्य custiom बटन का उपयोग करके अनुरोध भेज रहा है। मैं इस एडाप्टर कक्षा के अंदर asynctask कोड रखना चाहता हूँ। लेकिन मैं ऐसा करने में सक्षम नहीं हो सकता। सूचीदृश्य ऑनक्लिक बटन विधि के अंदर asynctask विधि को पहचान नहीं सकता है। तो मैंने एक और वर्ग में asynctask विधि रखा। मैं इस एडाप्टर क्लास में एसिंटास्क विधि रखना चाहता हूं क्योंकि मैं बटन नाम "अनुरोध" पर पर अनुरोध भेजने के बाद पोस्ट करें विधि। मैंने मैन्युअल रूप से बटन नाम बदल दिया है, लेकिन मैं यह सुनिश्चित करना चाहता हूं कि उपयोगकर्ता 100% भेजा गया हो। तो कृपया मुझे बताएं कि मुझे इस एडाप्टर क्लास में एसिन्टास्क विधि कहां रखना है ताकि मैं बटन का नाम बदल सकूं। अग्रिम में लाख धन्यवाद।
package project.cc.student;
import java.util.ArrayList;
import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import com.example.connectifyclassroom.R;
import android.content.Context;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;
public class SubjectAdapter extends ArrayAdapter<Subject> {
ArrayList<Subject> contactList;
LayoutInflater vi;
int Resource;
ViewHolder holder;
int studentID;
SendRequest sendRequest;
String requestUrl;
ArrayList<NameValuePair> params;
public SubjectAdapter(Context context, int resource, ArrayList<Subject> objects,int studentID) {
super(context, resource, objects);
vi = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
Resource = resource;
contactList = objects;
this.studentID = studentID;
Log.d("bug", "studentID" + studentID);
params = new ArrayList<NameValuePair>();
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
// convert view = design
View v = convertView;
if (v == null) {
holder = new ViewHolder();
v = vi.inflate(Resource, null);
holder.tvSubject = (TextView) v.findViewById(R.id.tvSujectName);
holder.tvTeacher = (TextView) v.findViewById(R.id.tvTeacherName);
holder.btSendRequest = (Button) v.findViewById(R.id.bt_send_subject_request);
holder.btSendRequest.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View view) {
// TODO Auto-generated method stub
Integer pos = (Integer)view.getTag();
Button b = (Button) view;
sendRequest = new SendRequest();
Toast.makeText(getContext(),"Please Wait...", Toast.LENGTH_SHORT).show();
params.add(new BasicNameValuePair("studentID", Integer.toString(studentID)));
params.add(new BasicNameValuePair("teacherID", Integer.toString(contactList.get(pos).getTeacherUid())));
params.add(new BasicNameValuePair("subjectID", Integer.toString(contactList.get(pos).getSubjectUid())));
sendRequest.setPair(params);
sendRequest.startRequest();
Toast.makeText(getContext(),"Request Sent", Toast.LENGTH_SHORT).show();
b.setText("Sent");
}
});
v.setTag(holder);
} else {
holder = (ViewHolder) v.getTag();
}
holder.tvSubject.setText(contactList.get(position).getSubject());
holder.tvTeacher.setText(contactList.get(position).getTeacher());
holder.btSendRequest.setTag(position);
return v;
}
static class ViewHolder {
public TextView tvSubject;
public TextView tvTeacher;
public Button btSendRequest;
}
}
नंबर 2 में सीटीओआर क्या है? – Yeahia2508
कस्टम कन्स्ट्रक्टर -> SendRequest (RequestStatusCallback कॉलबैक) {this.callback = कॉलबैक; } –