0
나는 다음과 같은 코드를 사용하여 안드로이드리스트 뷰를 만드는 오전 :안드로이드 토스트리스트 뷰 요소?
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
String item = ((TextView)view).getText().toString();
Toast.makeText(getBaseContext(), item, Toast.LENGTH_LONG).show();
}
});
:
ListView listView = (ListView) List.this.findViewById(R.id.mylist);
listView.setTextFilterEnabled(true);
String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
"Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
"Linux", "OS/2" ,"asdsad","asdsdsa","asdasdsa"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(context,R.layout.list_item,values);
// Assign adapter to ListView
listView.setAdapter(adapter);
listView.setVisibility(0);
지금 내가있는 ListView에서 선택된 항목을 토스트 할을 그래서 나는 다음과 같은 코드를 사용 하지만 불행히도 다음 코드 조각에 오류가 발생했습니다.
listView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position,
long id)
(210) 오류가
유형 새로운 AdapterView.OnItemClickListener() {}
그래서 무엇을해야 하는가 (긴 어댑터 뷰 AdapterView,보기, int)를 상속 된 추상 메소드 AdapterView.OnItemClickListener.onItemClick를 구현해야합니다입니다 이 오류를 수정하고 또한 내 listview 요소를 인쇄합니까? 편집
전체 코드
package com.notification;
import android.app.Activity;
import android.content.Context;
import android.content.Intent;
import android.os.Bundle;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.RelativeLayout;
import android.widget.Toast;
import android.view.*;
public class List1 extends Activity
{
Context context=this;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.listview);
//ListView
try{
ListView listView = (ListView) List1.this.findViewById(R.id.mylist);
listView.setTextFilterEnabled(true);
String[] values = new String[] { "Android", "iPhone", "WindowsMobile",
"Blackberry", "WebOS", "Ubuntu", "Windows7", "Max OS X",
"Linux", "OS/2" ,"asdsad","asdsdsa","asdasdsa"};
ArrayAdapter<String> adapter = new ArrayAdapter<String>(context,R.layout.list_item,values);
// Assign adapter to ListView
listView.setAdapter(adapter);
listView.setVisibility(0);
//required
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position,long id)
//public void onItemClick(ListView<?> listview, View view, int position,long id)
{
Toast.makeText(List1.this, "hi",Toast.LENGTH_LONG).show();
}
});
//required
}
catch(Exception e)
{
Toast.makeText(getApplicationContext(), e.toString(), Toast.LENGTH_LONG).show();}
}
}
아무것도 구운지고 있습니다. 왜?
편집 2
list_item.xml
<?xml version="1.0" encoding="utf-8"?>
<Button xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/tv1"
android:padding="10dp"
android:background="@drawable/textview1"
style="@style/textview_text"
android:textSize="16dp">
</Button>
listview.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<ListView
android:id="@+id/mylist"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
</ListView>
</RelativeLayout>
나는 해결책을 얻었다.사실 나는이 문장 import android.view. *를 추가해야했습니다. 그것은 나에게서 어리석은 실수이었다. – suraj
why..button as list item..for ArrayAdapter에서 use.android.R.layout.simple_list_item_1' 대신'R.layout.list_item'을 사용하십시오. – MKJParekh
@Frankenstein 작동하지만 Y는 list_item과 작동하지 않습니까? – suraj