그래서 작동하는 listview가 있지만이 목록보기에 대해 onclick 수신기를 구현하려고합니다. 나는 onclick listener를 새로운 조각으로 연결하여 목록의 일부 색인을 클릭 할 때 다른 페이지가 열리길 원합니다. 나는 몇 가지 테스트를 수행했으며 onclick 리스너가 전체적으로 작동하지 않는다고 판단했습니다.새 조각에 링크하는 목록보기에 onclick 수신기를 구현하는 방법
이것은 내가 지금까지 무엇을 가지고 :
내가 잘못 뭐하는 거지package ca.queensu.engsoc.events;
import android.app.Activity;
import android.app.Fragment;
import android.app.FragmentManager;
import android.app.FragmentTransaction;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.util.AttributeSet;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
public class eventList extends Activity implements AdapterView.OnItemClickListener
{
public static final String KEY_NAME = "NAME_KEY";
ListView events;
String[] e;
mockData myBadData = new mockData();
@Override
protected void onCreate (Bundle savedInstanceState)
{
//Fragment fragment_blank2=new SomeFragment();
e = myBadData.getData();
super.onCreate(savedInstanceState);
setContentView(R.layout.event_list);
events=(ListView) findViewById(R.id.dayList);
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,e);
events.setAdapter(adapter);
events.setOnItemClickListener(this);
}
@Override
public void onItemClick(AdapterView<?> adapterView, View view, final int i, long l)
{
//TextView temp=(TextView) view;
View temp=view;
//final Toast toast = Toast.makeText(this, temp.getText() + "" + i, Toast.LENGTH_SHORT.show());
temp.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
Bundle bundle = new Bundle();
bundle.putString(KEY_NAME,myBadData.getOneData(i));
Fragment fr = new event_description();
fr.setArguments(bundle);
FragmentManager fm = getFragmentManager();
FragmentTransaction fragmentTransaction = fm.beginTransaction();
int contId = v.getId();
fragmentTransaction.replace(contId, fr);
fragmentTransaction.commit();
Intent i=new Intent(eventList.this, fr.getClass());
}
});
}
}
?