1

尽管用户多次问过这个问题,但我无法通过浏览所有帖子来解决我的问题。我在 android 中使用了列表视图。在列表视图中,我添加了评分栏、文本视图和其他一些子项。我只能选择整个列表项。我想选择单个列表项。我将粘贴我尝试过的代码。

        public class ReviewAdapter extends ArrayAdapter<String>{
           private final Context context;
           private final String[] values;
           public ReviewAdapter(Context context, String[] values) {
                super(context,R.layout.activity_reviewlist,values);
                this.context = context;
                this.values = values;
            }
            @Override
            public View getView(int position, View convertView, ViewGroup parent) {
                // TODO Auto-generated method stub
                LayoutInflater layoutInflater =(LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
                View rowView =layoutInflater.inflate(R.layout.activity_reviewlist, parent,false);
                 TextView tv1 = (TextView) rowView.findViewById(R.id.textView1);
                 TextView tv2 = (TextView) rowView.findViewById(R.id.textView2);
                 TextView tv3 = (TextView) rowView.findViewById(R.id.textView3);
                 TextView tv4 = (TextView) rowView.findViewById(R.id.textView4);
                 TextView tv5 = (TextView) rowView.findViewById(R.id.textView5);
                 RatingBar ratingbar = (RatingBar) rowView.findViewById(R.id.ratingBar1);
                 ratingbar.setIsIndicator(true);
                 ImageView im1 = (ImageView) rowView.findViewById(R.id.imageView1);
                 tv1.setText(values[position]);
                 String s = values[position];
                 if(s.equals("Speech for Presentation")){
                    tv2.setText("07 th May 2011 22:30");
                    tv3.setText("05:30");
                    tv4.setText("Attempts");
                    tv5.setText("5");
                 }
                 else if(s.equals("Slide Show Presentation")){
                    tv2.setText("08 th May 2011 21:15");
                    tv3.setText("04:12");
                    tv4.setText("Attempts");
                    tv5.setText("7");
                 }
                 else if(s.equals("Seminar Presentation")){
                    tv2.setText("09 th May 2011 10:15");
                    tv3.setText("08:26");
                    tv4.setText("Attempts");
                    tv5.setText("9");
                 }
                 else if(s.equals("Training Speech")){
                    tv2.setText("10 th May 2011 9:16");
                    tv3.setText("09:26");
                    tv4.setText("Attempts");
                    tv5.setText("3");
                 }

                 else{
                    tv2.setText("12 th May 2011 10:10");
                    tv3.setText("19:26");
                    tv4.setText("Attempts");
                    tv5.setText("7");
                 }
                return rowView;
            }

        }

现在我要在这里粘贴我的列表活动

       public class ReviewActivity extends ListActivity {

      static final String[] reviews = new String[] {"Speech for Presentation","Slide Show Presentation","Seminar Presentation","Training Speech","Promoting the product"};  

       protected void onListItemClick(ListView l, View v, int position, long id) {

            //get selected items
            String selectedValue = (String) getListAdapter().getItem(position);
            Toast.makeText(this, selectedValue, Toast.LENGTH_SHORT).show();

        }
       public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setListAdapter(new ReviewAdapter(this, reviews));

        }


    }

最后,我粘贴了我尝试过的 xml。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/RelativeLayout1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent" >

    <RatingBar
        android:id="@+id/ratingBar1"
        style="?android:attr/ratingBarStyleSmall"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginRight="16dp"
        android:layout_marginTop="33dp"
        android:isIndicator="true"
         />

    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/ratingBar1"
        android:text="TextView" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_below="@+id/textView1"
        android:layout_marginTop="26dp"
        android:text="TextView" />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/textView2"
        android:layout_marginLeft="15dp"
        android:layout_toRightOf="@+id/textView2"
        android:src="@drawable/timer" />

    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/imageView1"
        android:layout_marginLeft="20dp"
        android:layout_toRightOf="@+id/imageView1"
        android:text="TextView" />

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/textView3"
        android:layout_marginLeft="18dp"
        android:layout_toRightOf="@+id/textView3"
        android:text="TextView" />

    <TextView
        android:id="@+id/textView5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/textView4"
        android:layout_alignRight="@+id/ratingBar1"
        android:text="TextView" />

</RelativeLayout>
4

0 回答 0