당신은 당신이 당신의 ListView
의 각 항목에 핸들 이벤트에 대한
Override
onListItemClick
를 클릭 할 수 있습니다 :
package com.mysampleapp;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.ListView;
import android.app.ListActivity;
import com.userpreferencesom.AmazonClientManager;
import com.userpreferencesom.DynamoDBManager;
import java.util.ArrayList;
public class MainMenu extends ListActivity {
//ListView eventsList;
Button newEvent;
Event event= new Event();
//ArrayList<Event> eventList = new ArrayList();
public static AmazonClientManager clientManager = null;
private ArrayAdapter<String> arrayAdapter = null;
private ArrayList<String> labels = null; // list of names of events manly for test)
private ArrayList<Event> items = null; //stores events
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_menu);
clientManager = new AmazonClientManager(this); //CIPEK
new GetEventList().execute(); //calling GetEventList from included class below
newEvent = (Button) findViewById(R.id.new_event_button);
newEvent.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent intent = new Intent(MainMenu.this, EventCreationActivity.class);
startActivity(intent);
}
});
}
private void setupActivity() {
Log.v("MOJEMOJEMOJE", event.getName());
}
private class GetEvent extends AsyncTask<Void, Void, Void> {
protected Void doInBackground(Void... voids) {
event = DynamoDBManager.getEvent(""); //in bracket ID number
return null;
}
protected void onPostExecute(Void result) {
setupActivity();
}
}
private class GetEventList extends AsyncTask<Void, Void, Void> {
protected Void doInBackground(Void... inputs) {
labels = new ArrayList<String>();
items = DynamoDBManager.getEventList();
for (Event up : items) {
labels.add(up.getName());
}
return null;
}
protected void onPostExecute(Void result) {
Log.v("Events:", labels.toString());
updateDisplay();
}
}
public void updateDisplay(){
//Using Event Adapter to display data
EventAdapter adapter = new EventAdapter(this, R.layout.item_event, items);
setListAdapter(adapter);
setOnItemClickListener(new AdapterView.OnItemClickListener() { //HERE IT CANNOT BUILD
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
Intent intent = new Intent(MainMenu.this, EventViewActivity.class);
startActivity(intent);
}
});
}
}
여기
오류 로그이며, 사전에 존을 주셔서 감사합니다
public class MainMenu extends ListActivity
...
...
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
Toast.makeText(this, "click at " + position,Toast.LENGTH_LONG).show();
}
}
오류가있는 경우 도움이 될 수 있습니다. 당신은 받고 있어요 – peter
오류 있습니까? Bcoz ur setOnItemCliclListener가 정상적으로 보입니다. 오류 메시지도 게시하십시오 –