gpt4 book ai didi

android - 如何在 ANDROID 自定义 Listview Adapter 中使用 setonitemclicklistener

转载 作者:太空狗 更新时间:2023-10-29 16:17:08 24 4
gpt4 key购买 nike

我有一个自定义 ListView 适配器。我想包括 setontemclicklistener 以禁用 ListView 中的列表项。我试过使用 onitemclicklistener 但它不起作用,你能帮帮我吗?

家庭类:

public class Home extends Activity {

JSONObject jsonobject;
JSONArray jsonarray;
ListView listview;
ListViewAdapter adapter;

SharedPreferences pref;
String uid;
static String user_id,us;
ArrayList<HashMap<String, String>> arraylist;

//static String BET_ID = "bet_id";
static String QUESTION = "question";
static String QUES_ID = "ques_id";



@SuppressLint("NewApi")
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
pref = PreferenceManager.getDefaultSharedPreferences(this);
setContentView(R.layout.questionlist);

uid = pref.getString("user_id",null);
Log.d("uid", ""+uid);



new DownloadJSON().execute();
}


private class DownloadJSON extends AsyncTask<Void, Void, Void> {

@Override
protected Void doInBackground(Void... params) {


arraylist = new ArrayList<HashMap<String, String>>();

jsonobject = JSONfunctions
.getJSONfromURL("http://192.168.1.23/MutilatedPHP/QuizGame/quesdownloadjson.php");

try {

jsonarray = jsonobject.getJSONArray("ques");

for (int i = 0; i < jsonarray.length(); i++) {
HashMap<String, String> map = new HashMap<String, String>();
jsonobject = jsonarray.getJSONObject(i);


map.put("question", jsonobject.getString("question"));
map.put("ques_id", jsonobject.getString("ques_id"));



arraylist.add(map);
}
} catch (JSONException e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
return null;
}

@Override
protected void onPostExecute(Void args) {

listview = (ListView) findViewById(R.id.listView1);

adapter = new ListViewAdapter(Home.this, arraylist);

listview.setAdapter(adapter);


}
}
}

ListView 适配器:

public class ListViewAdapter extends BaseAdapter {

Context context;
LayoutInflater inflater;
ArrayList<HashMap<String, String>> data;



HashMap<String, String> resultp = new HashMap<String, String>();

public ListViewAdapter(Context context,
ArrayList<HashMap<String, String>> arraylist) {
this.context = context;
data = arraylist;

}

@Override
public int getCount() {
return data.size();

}

@Override
public Object getItem(int position) {
return null;
}

@Override
public long getItemId(int position) {
return 0;
}

@Override
public View getView(final int position, View convertView, ViewGroup parent) {

TextView qs1;
TextView qs2;


View v = convertView;

if (v == null) {
LayoutInflater inflater = (LayoutInflater) context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
v = inflater.inflate(R.layout.listitem, null);
}



resultp = data.get(position);


qs2 = (TextView) v.findViewById(R.id.qs);



qs2.setText(resultp.get(Home.QUESTION));





v.setOnClickListener(new OnClickListener() {


@Override
public void onClick(View arg0) {



resultp = data.get(position);


Intent intent = new Intent(context, SingleItemView.class);


intent.putExtra("question", resultp.get(Home.QUESTION));
intent.putExtra("ques_id", resultp.get(Home.QUES_ID));



context.startActivity(intent);


}

});

return v;

}



}

提前致谢

最佳答案

您只需简单地为 ListView 调用 OnItemClickListener

listview.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> a, View v, int position,
long id) {


}
});

关于android - 如何在 ANDROID 自定义 Listview Adapter 中使用 setonitemclicklistener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24321268/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com