Android 列表视图问题

Android 列表视图问题,android,json,Android,Json,我有一个json数组,其中包含我的数据库。我在android应用程序上收到此阵列。通过列表视图,我接收标题。当我点击一个事件时,我想打开一个包含该事件信息的新活动。“Datainicio”是包含信息的变量,“Titulo”是包含标题的变量。我怎样才能做到这一点 package com.eu.agendamarinhagrande; import android.annotation.TargetApi; import android.app.ProgressDialog; import and

我有一个json数组,其中包含我的数据库。我在android应用程序上收到此阵列。通过列表视图,我接收标题。当我点击一个事件时,我想打开一个包含该事件信息的新活动。“Datainicio”是包含信息的变量,“Titulo”是包含标题的变量。我怎样才能做到这一点

package com.eu.agendamarinhagrande;

import android.annotation.TargetApi;
import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Build;
import android.support.v7.app.ActionBar;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.TextView;

import com.eu.agendamarinhagrande.JSONParser;
import com.eu.agendamarinhagrande.R;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.protocol.HTTP;
import org.apache.http.util.EntityUtils;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.text.Normalizer;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.regex.Pattern;


public class MainActivity extends ActionBarActivity  implements AdapterView.OnItemClickListener {

    // Progress Dialog
    private ProgressDialog pDialog;

    // Creating JSON Parser object
    // JSONParser jParser = new JSONParser();

    ArrayList<HashMap<String, String>> empresaList;


    // url to get all products list
    private static String url_all_empresas = "http://www.grifin.pt/projectoamg/Conexao.php";

    // JSON Node names


    private static final String TAG_TITULO = "Titulo";


    // products JSONArray
    String resultado = null;

    ListView lista;

    @TargetApi(Build.VERSION_CODES.HONEYCOMB)
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Hashmap para el ListView
        empresaList = new ArrayList<HashMap<String, String>>();
        new Download().execute();

        // Cargar los productos en el Background Thread

        lista = (ListView) findViewById(R.id.listView);
        lista.setOnItemClickListener(this);
        // ActionBar actionBar = getSupportActionBar();
        // actionBar.setDisplayHomeAsUpEnabled(true);

    }//fin onCreate

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

    }


    public class Download extends AsyncTask<Void, Void, String> {

        @Override
        protected String doInBackground(Void... params) {
            String out = null;

            try {
                DefaultHttpClient httpClient = new DefaultHttpClient();

                final HttpParams httpParameters = httpClient.getParams();

                HttpConnectionParams.setConnectionTimeout(httpParameters, 15000);
                HttpConnectionParams.setSoTimeout(httpParameters, 15000);

                HttpGet httpPost = new HttpGet(url_all_empresas);

                HttpResponse httpResponse = httpClient.execute(httpPost);
                HttpEntity httpEntity = httpResponse.getEntity();

                out = EntityUtils.toString(httpEntity, HTTP.UTF_8);

            } catch (UnsupportedEncodingException e) {
                e.printStackTrace();
            } catch (ClientProtocolException e) {
                e.printStackTrace();
            } catch (IOException e) {
                e.printStackTrace();
            }

            return out;
        }


        @TargetApi(Build.VERSION_CODES.GINGERBREAD)
        @Override
        protected void onPostExecute(String result) {
            super.onPostExecute(result);

            ArrayList<String> list = new ArrayList<>();

            try {
                JSONArray jsonArray = new JSONArray(result);
                for (int i = 0; i < jsonArray.length(); i++) {
                    JSONObject jsa = jsonArray.getJSONObject(i);
                    String str = jsa.getString("Titulo");
                    String data = jsa.getString("Datainicio");
                    Log.e("TAG", str);
                    Log.e("TAG", data);


                    String s1 = Normalizer.normalize(str, Normalizer.Form.NFKD);
                    String regex = Pattern.quote("[\\p{InCombiningDiacriticalMarks}\\p{IsLm}\\p{IsSk}]+");

                    str = new String(s1.replaceAll(regex, "").getBytes("ascii"), "ascii");

                    list.add(str+"\n"+data);

                }

                ArrayAdapter adapter = new ArrayAdapter<>(MainActivity.this, android.R.layout.simple_list_item_1, list);

                // updating listview
                //setListAdapter(adapter);
                lista.setAdapter(adapter);

            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }
}
package com.eu.agendamarinhagrande;
导入android.annotation.TargetApi;
导入android.app.ProgressDialog;
导入android.content.Intent;
导入android.os.AsyncTask;
导入android.os.Build;
导入android.support.v7.app.ActionBar;
导入android.support.v7.app.ActionBarActivity;
导入android.os.Bundle;
导入android.util.Log;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.view.view;
导入android.widget.AdapterView;
导入android.widget.ArrayAdapter;
导入android.widget.ListAdapter;
导入android.widget.ListView;
导入android.widget.simpledapter;
导入android.widget.TextView;
导入com.eu.agendamarinhagrande.JSONParser;
进口公司eu.AGENDAMARIHAGRANDE.R;
导入org.apache.http.HttpEntity;
导入org.apache.http.HttpResponse;
导入org.apache.http.NameValuePair;
导入org.apache.http.client.ClientProtocolException;
导入org.apache.http.client.methods.HttpGet;
导入org.apache.http.impl.client.DefaultHttpClient;
导入org.apache.http.params.HttpConnectionParams;
导入org.apache.http.params.HttpParams;
导入org.apache.http.protocol.http;
导入org.apache.http.util.EntityUtils;
导入org.json.JSONArray;
导入org.json.JSONException;
导入org.json.JSONObject;
导入java.io.IOException;
导入java.io.UnsupportedEncodingException;
导入java.text.Normalizer;
导入java.util.ArrayList;
导入java.util.HashMap;
导入java.util.List;
导入java.util.regex.Pattern;
公共类MainActivity扩展ActionBarActivity实现AdapterView.OnItemClickListener{
//进度对话框
私人对话;
//创建JSON解析器对象
//JSONParser jParser=新的JSONParser();
ArrayList Empersalist;
//获取所有产品列表的url
私有静态字符串url_all_empresas=”http://www.grifin.pt/projectoamg/Conexao.php";
//JSON节点名称
私有静态最终字符串标记_TITULO=“TITULO”;
//产品JSONArray
字符串resultado=null;
ListView lista;
@TargetApi(构建版本代码蜂窝)
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Hashmap参数列表视图
empresaList=新的ArrayList();
新下载().execute();
//Cargar los productos en el背景螺纹
lista=(ListView)findViewById(R.id.ListView);
lista.setOnItemClickListener(此);
//ActionBar ActionBar=getSupportActionBar();
//actionBar.setDisplayHomeAsUpEnabled(true);
}//fin onCreate
@凌驾
public void onItemClick(AdapterView父对象、视图、整型位置、长id){
}
公共类下载扩展异步任务{
@凌驾
受保护字符串doInBackground(无效…参数){
String out=null;
试一试{
DefaultHttpClient httpClient=新的DefaultHttpClient();
最终HttpParams httpParameters=httpClient.getParams();
HttpConnectionParams.setConnectionTimeout(httpParameters,15000);
HttpConnectionParams.setSoTimeout(httpParameters,15000);
HttpGet-httpPost=新的HttpGet(url\u all\u empresas);
HttpResponse HttpResponse=httpClient.execute(httpPost);
HttpEntity HttpEntity=httpResponse.getEntity();
out=EntityUtils.toString(httpEntity,HTTP.UTF_8);
}捕获(不支持的编码异常e){
e、 printStackTrace();
}捕获(客户端协议例外e){
e、 printStackTrace();
}捕获(IOE异常){
e、 printStackTrace();
}
返回;
}
@TargetApi(构建版本代码姜饼)
@凌驾
受保护的void onPostExecute(字符串结果){
super.onPostExecute(结果);
ArrayList=新建ArrayList();
试一试{
JSONArray JSONArray=新JSONArray(结果);
for(int i=0;i
在listview中使用ItemOnclick Listener,如下所示

yourlistview.setOnItemClickListener(new OnItemClickListener() {

        @Override
        public void onItemClick(AdapterView<?> parent, View view,
                int position, long id) {
            //Your intent goes here

           String yourvalue = yourarry.get(position).getyourvalue;

        }
    });
yourlistview.setOnItemClickListener(新的OnItemClickListener(){
@凌驾
public void onItemClick(AdapterView父级、视图、,
内部位置,长id){
//你的意图就在这里
String yourvalue=yourarry.get(position.getyourvalue);
}
});

如果我在stack上提问是因为我无法在google上搜索或理解这一点,那么在将问题发布到StackLol guy之前,你应该先用谷歌搜索一下,这段代码有什么问题?我是android新手,我不知道