2012-05-04 3 views
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> 
+0

나는 해결책을 얻었다.사실 나는이 문장 import android.view. *를 추가해야했습니다. 그것은 나에게서 어리석은 실수이었다. – suraj

+0

why..button as list item..for ArrayAdapter에서 use.android.R.layout.simple_list_item_1' 대신'R.layout.list_item'을 사용하십시오. – MKJParekh

+0

@Frankenstein 작동하지만 Y는 list_item과 작동하지 않습니까? – suraj

답변