나는 플레이어에 대한 정보를 표시하는 활동이 있습니다. 이 부분은 잘 작동합니다. (나는 어댑터를 사용했다.) 그러나 행을 클릭 할 때이를 감지하는 코드는 어디에 두어야합니까?Android ListActivity 행 클릭
PlayersActivity.java
package com.democratandchronicle.billstrainingcamp;
import android.os.Bundle;
public class PlayersActivity extends ListActivity
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_players);
PlayersAdapter adapter = new PlayersAdapter(this);
getListView().setAdapter(adapter);
PlayersFetchTask loadPlayersTask = new PlayersFetchTask(adapter);
loadPlayersTask.execute();
}
}
PlayersAdapter.java 내가 행을 클릭하면 감지 코드를 삽입해야
package com.democratandchronicle.billstrainingcamp;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
public class PlayersAdapter extends BaseAdapter {
private Context context;
private LayoutInflater layoutInflater;
private JSONArray entries = new JSONArray();
private DrawableManager dm;
public PlayersAdapter(Context context) {
super();
this.context = context;
this.layoutInflater = (LayoutInflater) this.context
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this.dm = new DrawableManager();
}
@Override
public int getCount() {
return this.entries.length();
}
@Override
public Object getItem(int position) {
try {
return this.entries.getJSONObject(position);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return null;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
RelativeLayout playerRowView;
if (convertView == null)
{
playerRowView = (RelativeLayout) this.layoutInflater.inflate(R.layout.player_row, parent, false);
}
else
{
playerRowView = (RelativeLayout) convertView;
}
TextView playerNameText = (TextView) playerRowView.findViewById(R.id.playerName);
TextView playerPositionText = (TextView) playerRowView.findViewById(R.id.playerPosition);
ImageView playerImageView = (ImageView) playerRowView.findViewById(R.id.playerImage);
try
{
JSONObject dataRow = this.entries.getJSONObject(position);
playerNameText.setText(dataRow.getString("firstName") + " "+ dataRow.getString("lastName"));
playerPositionText.setText(dataRow.getString("position"));
if (!dataRow.getString("photo").equals(""))
{
this.dm.fetchDrawableOnThread(dataRow.getString("photo"), playerImageView);
}
}
catch (JSONException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return playerRowView;
}
public void upDateEntries(JSONArray entries)
{
this.entries = entries;
this.notifyDataSetChanged();
}
}
getView 메소드에서 ... – smk
메소드의 이름은 무엇입니까? OnClick을 찾으려고했는데 –