2013-08-09 3 views
0

안녕하세요. 내 이름은 Nathan이고 코드에 문제가 있습니다. 도움을 요청하고 싶습니다. 당신이 저를 도울 수 있다면 나는 그것을 많이 고맙게 여길 것입니다. 데이터베이스에 의해 채워지는 listview가 있습니다. 내 타겟은 목록보기에서 항목을 거의 선택하지 않고 목록보기 옆에 "확인"이미지가 표시됩니다. 하지만 내 문제는 아래에서 볼 수 있듯이 하나의 항목을 클릭하면 "확인"이미지가 다른 항목에도 나타납니다. 그것이 당신에게 도움이 될 수 있다면 여기 내 코드의android listview itemclick 문제

package com.example.lamder; 

import android.app.Activity; 
import android.content.Context; 
import android.content.Intent; 
import android.database.Cursor; 
import android.database.sqlite.SQLiteDatabase; 
import android.graphics.Color; 
import android.os.Bundle; 
import android.support.v4.widget.SimpleCursorAdapter; 
import android.view.KeyEvent; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.widget.AdapterView; 
import android.widget.AdapterView.OnItemClickListener; 
import android.widget.Button; 
import android.widget.ImageView; 
import android.widget.ListView; 
import android.widget.TextView; 
import android.widget.Toast; 

public class GetActivity extends Activity { 
    RegistrationAdapter adapter_ob; 
    RegistrationOpenHelper helper_ob; 
    SQLiteDatabase db_ob; 
    ListView nameList; 
    Button registerBtn; 
    Cursor cursor; 
    static boolean[] check=new boolean[100]; 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.getact); 
     nameList = (ListView) findViewById(R.id.lv_name); 
     registerBtn = (Button) findViewById(R.id.btn_register); 
     adapter_ob = new RegistrationAdapter(this); 
     cursor=adapter_ob.queryName(); 
     Context context = getApplicationContext(); 
     CharSequence text =getString(R.string.selectby); 
     int duration = Toast.LENGTH_SHORT; 

     Toast toast = Toast.makeText(context, text, duration); 
     toast.show(); 
     for(int i=0;i<check.length;i++) 
      check[i]=false; 
     String[] from = { helper_ob.FNAME, helper_ob.LNAME }; 

     int[] to = { R.id.tv_fname, R.id.tv_lname }; 
     cursor = adapter_ob.queryName(); 
     SimpleCursorAdapter cursorAdapter = new SimpleCursorAdapter(this, 
       R.layout.row, cursor, from, to); 
     nameList.setAdapter(cursorAdapter); 
     nameList.setOnItemClickListener(new OnItemClickListener() { 

      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) {  
       ImageView img=(ImageView) view.findViewById(R.id.imageView2); 
       if(check[position]==false) 
       { 
        check[position]=true; 
        img.setVisibility(View.VISIBLE); 
       } 
       else 
       { 
        check[position]=false; 
        img.setVisibility(View.INVISIBLE); 
       } 


      } 
     }); 

XML 코드 당신이, 감사 나를 도울 수있는 희망

<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:orientation="horizontal" > 

    <RelativeLayout 
     android:layout_width="match_parent" 
     android:layout_height="75dp" 
     android:background="@drawable/backnote" > 

     <TextView 
      android:id="@+id/tv_fname" 
      android:layout_width="wrap_content" 
      android:layout_height="30dp" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentRight="true" 
      android:layout_below="@+id/imageView1" 
      android:text="ans" /> 

     <RelativeLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_above="@+id/tv_lname" 
      android:layout_marginLeft="44dp" 
      android:layout_toRightOf="@+id/tv_fname" > 
     </RelativeLayout> 

     <ImageView 
      android:id="@+id/imageView1" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentTop="true" 
      android:src="@drawable/blackbar" /> 

     <TextView 
      android:id="@+id/tv_lname" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignParentLeft="true" 
      android:layout_alignParentRight="true" 
      android:layout_below="@+id/tv_fname" 
      android:text="ques" /> 

     <RelativeLayout 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignBottom="@+id/tv_lname" > 

      <ImageView 
       android:id="@+id/imageView2" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentRight="true" 
       android:layout_alignParentTop="true" 
       android:scaleType="fitEnd" 
       android:src="@drawable/checker" 
       android:visibility="invisible" /> 
      --that's the picture i want to make visible when clicked 
     </RelativeLayout> 

    </RelativeLayout> 

</LinearLayout> 

, 나단

답변