0

カスタム リスト ビューに textview1 と textview2 の 2 つのテキスト ビューがあります。リストビューの行の総数は 10 です。テキストビュー 2 のすべての要素に「true」という値がある場合。10 番目の要素の textview1 をクリックすると、「成功」というメッセージが表示されるか、1 つの textview2 の値が「true」以外の場合でも、10 番目の要素 textview1 をクリックすると、「失敗」というメッセージが表示されます。

これが私のコード パッケージ com.example.list です。

import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;
import android.widget.Toast;
import android.app.Activity;
import android.content.Context;

public class MainActivity extends Activity 
{
ListView lv;
private  static boolean test= false;

@Override
protected void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    lv = (ListView)findViewById(R.id.lv);   
    lv.setAdapter(new slist(this));         
}

public class slist extends BaseAdapter
{
     private Context context;

      public slist(Context c) 
      {
           context = c;
      }

    @Override
    public int getCount()
    {           
          return names.length;
    }

    @Override
    public Object getItem(int position) 
    {           
        return null;
    }

    @Override
    public long getItemId(int position) 
    {           
        return 0;
    }

    @Override
    public View getView(int position, View v, ViewGroup parent) {

           LayoutInflater li = getLayoutInflater();
           v = li.inflate(R.layout.customlist, null);

           final TextView t1 = (TextView) v.findViewById(R.id.tv1);
           final TextView t2 = (TextView) v.findViewById(R.id.tv2);

           t1.setText(names[position]);
           t2.setText(bikes[position]);


           t1.setOnClickListener(new OnClickListener() 
           {                
            public void onClick(View v)
             {
                    if(t1.getText().toString().equalsIgnoreCase(names[names.length-1]))
                {

                 //Here i should loop through and check all the elements in the bikes[] 
                }
                else
                {
                  Toast.makeText(getApplicationContext(), t1.getText().toString(), Toast.LENGTH_SHORT).show();
                }

             }
           });

           return v;
    }

}

String [] names = { "rams", "venu", "pavan", "sravan", "vishnu", "krishna", "hari", "prasad", "raghu" };
    String [] bikes = { "true", "true", "false", "true", "true", "false", "true", "false", "true" };

}

4

2 に答える 2

0

次のコードを使用できます

 t1.setOnClickListener(new OnClickListener() 
       {                
        public void onClick(View v)
         {
    //check for the position of last item
    if(position==(names.length-1))
    {
        //check for second element of other 9 items
        for(int i=0;i<bikes.length-1;i++)
        {

            if(bikes[i].equals("true"))
            {
                result=true;
            }
            else
            {
                result=false;
            }
        }
    }
         }
       });
于 2013-01-08T07:29:14.090 に答える
-1

これを試して

 index=Integer.parseInt(v.getTag().toString());
    View view=yourlistviewname.getChildAt(index);
    TextView tv1=view.findViewByID(R.id.textview1);
    TextView tv2=view.findViewByID(R.id.textview2);

    String first=tv1.getText().toString();
    String second=tv2.getText().toString();  

 if(first.equals("yourArrayItemHere")){
 //your message here
 }
 if(second.equals("false")){
 //your message here
 }

テキストビューのテキストに従って、メッセージ「成功」または「失敗」を設定できます。

于 2013-01-08T05:01:16.120 に答える