이 상당히 간단하다
이리스트 뷰와 활동이다, 그것은 OnItemClickListener 구현 :
public class MainActivity extends Activity implements OnItemClickListener {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_main);
//* *EDIT* *
ListView listview = (ListView) findViewById(R.id.listView1);
listview.setOnItemClickListener(this);
}
public void onItemClick(AdapterView<?> l, View v, int position, long id) {
Log.i("HelloListView", "You clicked Item: " + id + " at position:" + position);
// Then you start a new Activity via Intent
Intent intent = new Intent();
intent.setClass(this, ListItemDetail.class);
intent.putExtra("position", position);
// Or/And
intent.putExtra("id", id);
startActivity(intent);
}
편집
을 위의 코드는 것 MainActivity.java에 저장됩니다. 나는 클래스의 이름을 MainActivity
으로 변경했으며 contentView는 setContentView(R.layout.activity_main)
으로 바꿨다. 이클립스에서 새로 만든 Android 프로젝트의 이름이다.
// * 아래에있는 두 개의 새 줄을 참조하십시오 - 목록의 항목 클릭에 대해 Listener를 설정합니다.
귀하의 activity_main.xml은 다음과 같아야합니다
당신`의
array.xml이 (string.xml되지 않음) 고해상도/값/'폴더이
<resources>
<string-array name="sections">
<item >Pro Constructive</item>
<item >Con Constructive</item>
<item >1st Speaker Cross</item>
<item >Pro Rebbutal</item>
<item >Con Rebuttal</item>
<item >2nd Speaker Cross</item>
<item >Pro Summary</item>
<item >Con Summary</item>
<item >Grand Cross</item>
<item >Pro Final Focus</item>
<item >Con Final Focus</item>
</string-array>
</resources>
과 같은
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:entries="@array/sections" >
</ListView>
</RelativeLayout>
주의 : &을 복사하면이 코드가 붙여 넣기해야합니다. 그러나 ListItemDetail.class
을 아직 만들지 않았기 때문에 항목을 클릭하면 오류가 발생합니다.
귀하의 ListItemDetail.java :
public class ListItemDetail extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_listitem);
Intent intent = getIntent();
int position = intent.getIntExtra("position", 0);
// Here we turn your string.xml in an array
String[] myKeys = getResources().getStringArray(R.array.sections);
TextView myTextView = (TextView) findViewById(R.id.my_textview);
myTextView.setText(myKeys[position]);
}
}
그리고 그 activity_listitem.xml 당신이 작동이 코드 과거 복사 할 경우
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/my_textview"/>
</LinearLayout>
다음은이 볼 수있는 방법의 예입니다.
, 나는이 새로운 해요. 이것을 string.xml 또는 activity_main.xml에 넣을 수 있습니까?이 정보를 내 정보로 바꿀 수 있습니까? –
나는 내 대답을 편집했다. 희망이 올바른 경로에 당신을 가져옵니다 :) – Delpes
그래, 당신이 말한 것처럼, 그것은 나에게 오류를 제공하지만, 나는 activity_listitem.xml과 ListItemDetail.java를 추가했는데, 나는 왜 애플 리케이션 FC가 있는지 모르겠다. 오류 없음. –