Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > Mobile > Mobile Forum > สอบถามเกี่ยวกับ Get String ตาม Position ของ ListView Adapter หน่อยครับว่าทำยังไง



 

สอบถามเกี่ยวกับ Get String ตาม Position ของ ListView Adapter หน่อยครับว่าทำยังไง

 



Topic : 127450



โพสกระทู้ ( 4 )
บทความ ( 0 )



สถานะออฟไลน์




Code
package com.androidtutorialpoint.androidlogin;

import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.TextView;

import java.util.List;

public class ListAdapter extends BaseAdapter
{
	Context context;
	List<cources> valueList;
	public ListAdapter(List<cources> listValue, Context context)
	{
		this.context = context;
		this.valueList = listValue;
	}

    public String mail, nomT;

    @Override
	public int getCount()
	{
		return this.valueList.size();
	}

	@Override
	public Object getItem(int position)
	{
		return this.valueList.get(position);
	}

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

	@Override
	public View getView(int position, View convertView, ViewGroup parent)
	{
		ViewItem viewItem = null;
		if(convertView == null)
		{
			viewItem = new ViewItem();
			LayoutInflater layoutInfiater = (LayoutInflater)this.context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
			//LayoutInflater layoutInfiater = LayoutInflater.from(context);
			convertView = layoutInfiater.inflate(R.layout.list_adapter_view, null);

			viewItem.txtTitle = (TextView)convertView.findViewById(R.id.adapter_text_title);
			viewItem.txtDescription = (TextView)convertView.findViewById(R.id.adapter_text_description);
            viewItem.button = (Button) convertView.findViewById(R.id.list_item_btn);
			convertView.setTag(viewItem);
		}
		else
		{
			viewItem = (ViewItem) convertView.getTag();
		}

		viewItem.txtTitle.setText(valueList.get(position).cources_name);
		viewItem.txtDescription.setText(valueList.get(position).cources_description);

        viewItem.button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                Intent intent=new Intent(context.getApplicationContext(),CardActivity.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
                intent.putExtra("cources_name", "txtTitle");
                context.getApplicationContext().startActivity(intent);
            }
        });

		return convertView;
	}
}

class ViewItem
{
    TextView txtTitle;
	TextView txtDescription;
    Button button;
}



คือผมจะเก็บข้อมูล ListView ตาม Position เก็บใส่ String และจะให้มันส่งค่าไปอีกหน้าเพื่อนจะ Insert เข้า Database ครับ ผมต้องทำยังไงครับ



Tag : Mobile, Android







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2017-05-03 13:02:02 By : Taiyark View : 1477 Reply : 3
 

 

No. 1



โพสกระทู้ ( 74,058 )
บทความ ( 838 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter Facebook

บทความนี้ครับ

Code (Android-Java)
        lstView1.setOnItemClickListener(new OnItemClickListener() {
			public void onItemClick(AdapterView<?> parent, View v,
				int position, long id) {
				
                View layout = inflater.inflate(R.layout.custom_fullimage_dialog,
                        (ViewGroup) findViewById(R.id.layout_root));
                ImageView image = (ImageView) layout.findViewById(R.id.fullimage);
                

				int ResID = getResources().getIdentifier(MyArrList.get(position).get("ImagePath"), "drawable", MainActivity.this.getPackageName());
				image.setImageResource(ResID);
				
                imageDialog.setIcon(android.R.drawable.btn_star_big_on);	
        		imageDialog.setTitle("View : " + MyArrList.get(position).get("ImageDesc"));
                imageDialog.setView(layout);
                imageDialog.setPositiveButton(android.R.string.ok, new DialogInterface.OnClickListener(){

                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                    }

                });


                imageDialog.create();
                imageDialog.show(); 
		    	
			}
		});





Android ListView and ImageView Image / Text in ListView Custom Layout Column
https://www.thaicreate.com/mobile/android-listview-imageview.html







แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-05-04 09:40:12 By : mr.win
 


 

No. 2



โพสกระทู้ ( 157 )
บทความ ( 0 )



สถานะออฟไลน์
Twitter Facebook Hi5 Blogger

Get String ตาม Position ของ ListView Adapter หน่อยครับว่าทำยังไง

มันคือการเอา ข้อมูล ของข้อความนั้นๆ ของมา show ให้ตรงตาม Position หรือ ตรงตำแหน่ง โดยใช้การเรียกผ่าน Adapter ที่ใช้เป้นตัวกลางในการส่ง โดยการ settext ข้อความนั้นอ่าครับ

หัวใจสำคัญที่สุดจะอยู่ที่ Adapter ต่างหาก โดยที่ข้อมูลจะต้องกำหนดลงไปใน Adapter ก่อน แล้วนำ Adapter ไปกำหนดให้ List View อีกที ถึงจะทำให้ List View แสดงข้อมูลได้ ดังนั้น List View ก็เป็นแค่ View ที่ใช้สำหรับแสดงข้อมูลเท่านั้น

สำหรับ Adapter ก็เปรียบเสมือนแหล่งกำหนดข้อมูลที่จะให้แสดง ในการใช้งาน List View แบบพื้นฐาน ข้อมูลที่จะแสดงจะอยู่ในรูปของ String Array โดยกำหนดให้แสดงข้อมูลแต่ละตัวบน Text View ที่ระบบได้เตรียมไว้แล้ว (android.R.layout.simple_list_item_1) แล้วจึงนำไปแสดงใน List View

SS


ลองศึกษาตามนี้ดูนะ ครับ http://http://www.akexorcist.com/2012/09/android-code-custom-list-view.html
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-05-04 10:33:38 By : heloman
 

 

No. 3



โพสกระทู้ ( 4 )
บทความ ( 0 )



สถานะออฟไลน์


ที่ผมทำคือผมดึงค่าจาก Database ทั้งหมดมาแสดงเป็น List View แบบ Adapter คับ ผมอยากทราบวิธีทำให้ส่งค่าไปอีกหน้าตามปุ่มที่ผมทำไว้ยังไงครับ เช่น กดปุ่มแรกก็ส่งค่าใน TextView อันแรกไป ปุ่ม 2 ก็ส่งค่าใน TextView อันที่ 2 ไป

Vote

อันนี้เป็น Code ที่ผมทำตามตัวอย่างของคนอื่นครับ

MainActivity.java หน้าดึงข้อมูลจาก Database

package com.example.taiyark.test;

import android.app.Activity;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.view.Window;
import android.widget.ListView;
import android.widget.ProgressBar;
import android.widget.Toast;

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.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.params.BasicHttpParams;
import org.apache.http.params.HttpConnectionParams;
import org.apache.http.params.HttpParams;
import org.apache.http.protocol.HTTP;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;


public class MainActivity extends Activity {

	ListView listCollege;
	ProgressBar proCollageList;
	@Override
	protected void onCreate(Bundle savedInstanceState) 
	{
		super.onCreate(savedInstanceState);
		requestWindowFeature(Window.FEATURE_NO_TITLE);
		setContentView(R.layout.activity_main);

		listCollege = (ListView)findViewById(R.id.listCollege);
		proCollageList = (ProgressBar)findViewById(R.id.proCollageList);
		
		new GetHttpResponse(this).execute();
	}

	private class GetHttpResponse extends AsyncTask<Void, Void, Void> 
	{
		private Context context;
		String result;
		List<cources> collegeList;
		public GetHttpResponse(Context context)
		{
			this.context = context;
		}

		@Override
		protected void onPreExecute() 
		{
			super.onPreExecute();
		}

		@Override
		protected Void doInBackground(Void... arg0) 
		{
			HttpService httpService = new HttpService("https://localhost/courses.php");
			try 
			{
				httpService.ExecutePostRequest();

				if(httpService.getResponseCode() == 200)
				{
					result = httpService.getResponse();
					Log.d("Result", result);
					if(result != null)
					{
						JSONArray jsonArray = null;
						try {
							jsonArray = new JSONArray(result);

							JSONObject object;
							JSONArray array;
							cources college;
							collegeList = new ArrayList<cources>();
							for(int i=0; i<jsonArray.length(); i++)
							{
								college = new cources();
								object = jsonArray.getJSONObject(i);

								college.cources_name = object.getString("sc_poker_id");
								college.cources_description = object.getString("sc_poker_product");

								collegeList.add(college);
							}
						}
						catch (JSONException e) {
							// TODO Auto-generated catch block
							e.printStackTrace();
						}
					}
				}
				else
				{
					Toast.makeText(context, httpService.getErrorMessage(), Toast.LENGTH_SHORT).show();
				}
			} 
			catch (Exception e) 
			{
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			return null;
		}

		@Override
		protected void onPostExecute(Void result) 
		
		{
			proCollageList.setVisibility(View.GONE);
			listCollege.setVisibility(View.VISIBLE);
			if(collegeList != null)
			{
			ListAdapter adapter = new ListAdapter(collegeList, context);
			listCollege.setAdapter(adapter);
			}
		}
	}

	public class HttpService 
	{
		private ArrayList <NameValuePair> params;
		private ArrayList <NameValuePair> headers;

		private String url;
		private int responseCode;
		private String message;
		private String response;

		public String getResponse() 
		{
			return response;
		}

		public String getErrorMessage() 
		{
			return message;
		}

		public int getResponseCode() 
		{
			return responseCode;
		}

		public HttpService(String url)
		{
			this.url = url;
			params = new ArrayList<NameValuePair>();
			headers = new ArrayList<NameValuePair>();
		}

		public void AddParam(String name, String value)
		{
			params.add(new BasicNameValuePair(name, value));
		}

		public void AddHeader(String name, String value)
		{
			headers.add(new BasicNameValuePair(name, value));
		}

		public void ExecuteGetRequest() throws Exception
		{
			String combinedParams = "";
			if(!params.isEmpty())
			{
				combinedParams += "?";
				for(NameValuePair p : params)
				{
					String paramString = p.getName() + "=" + URLEncoder.encode(p.getValue(),"UTF-8");
					if(combinedParams.length() > 1)
					{
						combinedParams  +=  "&" + paramString;
					}
					else
					{
						combinedParams += paramString;
					}
				}
			}

			HttpGet request = new HttpGet(url + combinedParams);
			for(NameValuePair h : headers)
			{
				request.addHeader(h.getName(), h.getValue());
			}

			executeRequest(request, url);
		}

		public void ExecutePostRequest() throws Exception
		{
			HttpPost request = new HttpPost(url);
			for(NameValuePair h : headers)
			{
				request.addHeader(h.getName(), h.getValue());
			}

			if(!params.isEmpty())
			{
				request.setEntity(new UrlEncodedFormEntity(params, HTTP.UTF_8));
			}

			executeRequest(request, url);
		}

		private void executeRequest(HttpUriRequest request, String url)
		{
			HttpParams httpParameters = new BasicHttpParams();
			int timeoutConnection = 10000;
			HttpConnectionParams.setConnectionTimeout(httpParameters, timeoutConnection);
			int timeoutSocket = 10000;
			HttpConnectionParams.setSoTimeout(httpParameters, timeoutSocket);
			
			HttpClient client = new DefaultHttpClient(httpParameters);
			HttpResponse httpResponse;
			try
			{
				httpResponse = client.execute(request);
				responseCode = httpResponse.getStatusLine().getStatusCode();
				message = httpResponse.getStatusLine().getReasonPhrase();

				HttpEntity entity = httpResponse.getEntity();
				if (entity != null) 
				{
					InputStream instream = entity.getContent();
					response = convertStreamToString(instream);
					instream.close();
				}
			} 
			catch (ClientProtocolException e)  
			{
				client.getConnectionManager().shutdown();
				e.printStackTrace();
			} 
			catch (IOException e) 
			{
				client.getConnectionManager().shutdown();
				e.printStackTrace();
			}
		}

		private String convertStreamToString(InputStream is)
		{
			BufferedReader reader = new BufferedReader(new InputStreamReader(is));
			StringBuilder sb = new StringBuilder();

			String line = null;
			try 
			{
				while ((line = reader.readLine()) != null) 
				{
					sb.append(line + "\n");
				}
			} 
			catch (IOException e) 
			{
				e.printStackTrace();
			}
			finally 
			{
				try 
				{
					is.close();
				} 
				catch (IOException e) 
				{
					e.printStackTrace();
				}
			}
			return sb.toString();
		}
	}
}


ListAdapter.java หน้า Listview

package com.example.taiyark.test;

import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.Button;
import android.widget.TextView;

import java.util.List;

public class ListAdapter extends BaseAdapter
{
	Context context;
	List<cources> valueList;
	public ListAdapter(List<cources> listValue, Context context)
	{
		this.context = context;
		this.valueList = listValue;
	}

	@Override
	public int getCount()
	{
		return this.valueList.size();
	}

	@Override
	public Object getItem(int position)
	{
		return this.valueList.get(position);
	}

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

	@Override
	public View getView(int position, View convertView, ViewGroup parent)
	{
		ViewItem viewItem = null;
		if(convertView == null)
		{
			viewItem = new ViewItem();
			LayoutInflater layoutInfiater = (LayoutInflater)this.context.getSystemService(Activity.LAYOUT_INFLATER_SERVICE);
			//LayoutInflater layoutInfiater = LayoutInflater.from(context);
			convertView = layoutInfiater.inflate(R.layout.list_adapter_view, null);

			viewItem.txtTitle = (Button)convertView.findViewById(R.id.adapter_text_title);
			viewItem.txtDescription = (TextView)convertView.findViewById(R.id.adapter_text_description);
			convertView.setTag(viewItem);
		}
		else
		{
			viewItem = (ViewItem) convertView.getTag();
		}

		viewItem.txtTitle.setText(valueList.get(position).cources_name);
		viewItem.txtDescription.setText(valueList.get(position).cources_description);

		return convertView;
	}
}

class ViewItem
{
	Button txtTitle;
	TextView txtDescription;
}


activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.example.taiyark.testdata.MainActivity"
    android:background="#ffffff" >

    
     <TextView
        android:id="@+id/cources_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Topic"
        android:textColor="#429ed7"
        android:textSize="25sp"
        android:textStyle="bold" />
    
     <ListView
        android:id="@+id/listCollege"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:visibility="gone"
        android:layout_marginTop="35dp" >
    </ListView>
    
    <ProgressBar
        android:id="@+id/proCollageList"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:visibility="visible"
        />

    <ImageView
        android:id="@+id/borderImg"
        android:layout_width="fill_parent"
        android:layout_height="1dp"
        android:layout_alignLeft="@+id/cources_title"
        android:layout_below="@+id/cources_title"
        android:background="#429ed7" />
    
</RelativeLayout>


list_adapter_view.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:background="#ffffff"
    >

    <Button
        android:id="@+id/adapter_text_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#429ed7"
        android:textSize="18sp"
        />

    <TextView
        android:id="@+id/adapter_text_description"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#020202"/>
    
</LinearLayout>



ประวัติการแก้ไข
2017-05-04 22:37:24
2017-05-04 22:42:03
2017-05-05 02:46:52
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2017-05-04 22:35:03 By : Taiyark
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : สอบถามเกี่ยวกับ Get String ตาม Position ของ ListView Adapter หน่อยครับว่าทำยังไง
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่