在android中未单击Listview
请帮助我这是我在列表视图中设置适配器的活动代码。我想在列表视图中单击,但没有单击,因此请帮助我找出此问题。提前感谢。这是我项目的重要部分在android中未单击Listview,android,json,Android,Json,请帮助我这是我在列表视图中设置适配器的活动代码。我想在列表视图中单击,但没有单击,因此请帮助我找出此问题。提前感谢。这是我项目的重要部分 public class Teacher Locator extends ActionBarActivity { Defaultlistadapter defaultlistadapter; ListView listview; @Override protected void onCreate(Bundle saved
public class Teacher Locator extends ActionBarActivity {
Defaultlistadapter defaultlistadapter;
ListView listview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
listview=(ListView)findViewById(R.id.list_company);
//This is asyktask class
new DefaultListService().execute();
}
//Defaultlist service class
private class DefaultListService extends AsyncTask<Void, Void, Void> {
@Override
protected Void doInBackground(Void... params) {
ServiceHandler2 sh=new ServiceHandler2();
String url_defaultlist ="http://192.168.0.11/highschoolcoopsapp/?tag=allcompanyprofiles";
String strjson=sh.makeServiceCall(url_defaultlist, ServiceHandler2.GET);
Log.v("ResponseDefault",strjson);
if(strjson!=null)
{
try {
JSONObject jobjsearch=new JSONObject(strjson);
tag_list=jobjsearch.getString("tag");
success_list=jobjsearch.getString("success");
error_list=jobjsearch.getString("error");
Log.v("TagSearch",tag_list);
Log.v("SuccessSearch",success_list);
Log.v("ErrorSearch",error_list);
//JsonArray Working
JSONArray jarr_list =jobjsearch.getJSONArray("searchresult");
for (int i=0; i<jarr_list.length(); i++) {
JSONObject obbj=jarr_list.getJSONObject(i);
name_list = obbj.getString("name");
arrname_list.add(name_list);
Log.v("Companyname",name_list);
// allNames.add(name);
address_list = obbj.getString("address");
arraddress_list.add(address_list);
Log.v("Companyaddress",address_list);
city_list = obbj.getString("city");
arrcity_list.add(city_list);
Log.v("Companycity",city_list);
state_list = obbj.getString("state");
arrstate_list.add(state_list);
Log.v("Companystate",state_list);
country_list = obbj.getString("country");
arrcountry_list.add(country_list);
Log.v("Companycountry",country_list);
//categorytitle
categoryid_list=obbj.getString("title");
arrcategoryid_list.add(categoryid_list);
Log.v("category",categoryid_list);
//title_list=obbj.getString("title");
//arrtitle_list.add(title_list);
intro_list=obbj.getString("intro");
arrintro_list.add(intro_list);
///categoryid
str_categoryid=obbj.getString("category_id");
arrcategryid_list.add(str_categoryid);
//Id
str_id=obbj.getString("id");
arrid_list.add(str_id);
}
} catch (JSONException e) {
e.printStackTrace();
}
}
else
{
Log.e("ServiceHandler", "Couldn't get any data from the url");
}
return null;
}
@Override
protected void onPostExecute(Void args) {
defaultlistadapter=new Defaultlistadapter(TeacherLocator.this, arrname_list, arraddress_list, arrcity_list, arrstate_list, arrcountry_list,arrcategoryid_list,arrintro_list);
defaultlistadapter.notifyDataSetChanged();
listview.setAdapter(defaultlistadapter);
listview.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Toast.makeText(TeacherLocator.this," Not clicked....................", Toast.LENGTH_LONG).show();
}
});
Toast.makeText(TeacherLocator.this,"Listview :"+str_id,Toast.LENGTH_LONG).show();
}
}
}
公共课堂教师定位器扩展了ActionBarActivity{
Defaultlistadapter默认ListAdapter;
列表视图列表视图;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
listview=(listview)findViewById(R.id.list\U company);
//这是asyktask类
新建DefaultListService().execute();
}
//Defaultlist服务类
私有类DefaultListService扩展了AsyncTask{
@凌驾
受保护的Void doInBackground(Void…params){
ServiceHandler2 sh=新的ServiceHandler2();
字符串url_defaultlist=”http://192.168.0.11/highschoolcoopsapp/?tag=allcompanyprofiles";
字符串strjson=sh.makeServiceCall(url\u defaultlist,ServiceHandler2.GET);
Log.v(“ResponseDefault”,strjson);
if(strjson!=null)
{
试一试{
JSONObject jobjsearch=新JSONObject(strjson);
tag_list=jobjsearch.getString(“tag”);
success_list=jobjsearch.getString(“success”);
error_list=jobjsearch.getString(“错误”);
Log.v(“标记搜索”,标记列表);
Log.v(“成功搜索”,成功列表);
Log.v(“错误搜索”,错误列表);
//JsonArray工作
JSONArray jarr_list=jobjsearch.getJSONArray(“搜索结果”);
对于(int i=0;i如果在getView
函数中设置convertView
的单击,会怎么样?当listview中的项目可聚焦时,可能会发生这种情况,请尝试添加
android:descendantFocusability="blocksDescendants"
在自定义适配器行布局的布局中,即在您的情况下,您的R.layout.defaultlist应如下所示:
<LinearLayout <--your xml's parent layout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:descendantFocusability="blocksDescendants" > <<-- add this line of code
您有一个祝酒词“未点击”在内部单击listener?认真地说,是谁在代码中多出了这么多行。几乎编辑了一半…叹气…你能把你的xml放在listview的位置吗?为什么你要在每个响应上创建新的适配器?ItemClickListener和setAdapter不应该再次设置,请在comment.convertView.setOnClickListener中要求澄清(新建OnClickListener(){@Override public void onClick(View v){//TODO Auto-generated method stub}}});但我想在litview项的单击中获得lisview位置您在getView
函数中拥有该位置:public View getView(final int position,View convertView,ViewGroup parent).
<LinearLayout <--your xml's parent layout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:descendantFocusability="blocksDescendants" > <<-- add this line of code