1

マイレイアウト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="match_parent"
android:orientation="vertical" >
<RelativeLayout 
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="3"
 >
<ImageView
    android:id="@+id/photo_user"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@drawable/user_pic"
    android:layout_gravity="top"
    android:contentDescription="@string/image_descrip"
    />
<TextView 
    android:id="@+id/text_user"
    android:layout_alignRight="@+id/photo_user"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/user_info"
    android:textColor="#FFFFFF"
    android:background="#AA000000"/>
   </RelativeLayout>
  <RelativeLayout 
  android:layout_width="match_parent"
  android:layout_height="0dip"
  android:layout_weight="7"
  android:background="#000000"
   >
<RelativeLayout
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:paddingTop="10dp"
  android:paddingBottom="10dp"
    >
   <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:paddingLeft="15dp"
        android:text="@string/plan_text0"
        />
    <TextView 
        android:id="@+id/tv_viewplan"
        android:layout_width="wrap_content"
        android:paddingLeft="100dp"
        android:textSize="12sp"
        android:layout_height="wrap_content"
        android:text="@string/plan_text"
        />
    <TextView 
        android:id="@+id/tv_plan1"
        android:paddingLeft="215dp"
        android:textSize="12sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/plan_text1"
        />
  </RelativeLayout>
<View
    android:id="@+id/place_view1"
   android:layout_width="fill_parent"
   android:layout_height="2dp"
   android:layout_marginTop="40dp"
   android:background="#5C5C5C"
    />
 <RelativeLayout
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
   android:layout_below="@+id/place_view1"
   android:paddingTop="10dp"
   android:paddingBottom="10dp"
    >
   <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:paddingLeft="15dp"
        android:text="@string/services_text0"
        />
    <TextView 
        android:id="@+id/tv_service"
        android:layout_width="wrap_content"
        android:paddingLeft="100dp"
        android:textSize="12sp"
        android:layout_height="wrap_content"
        android:text="@string/services_text"
        />
    <TextView 
        android:id="@+id/tv_service1"
        android:layout_below="@+id/tv_plan1"
        android:textSize="12sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="215dp"
        android:text="@string/services_text1"
        />
  </RelativeLayout>
   <View
   android:id="@+id/place_view2"
   android:layout_width="fill_parent"
   android:layout_height="2dp"
   android:layout_marginTop="80dp"
   android:background="#5C5C5C"
    />
   <RelativeLayout
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
   android:layout_below="@+id/place_view2"
   android:paddingTop="10dp"
   android:paddingBottom="10dp"
    >
   <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:paddingLeft="15dp"
        android:text="@string/bill_text0"
        />
    <TextView 
        android:id="@+id/tv_bill"
        android:layout_width="wrap_content"
        android:paddingLeft="100dp"
        android:textSize="12sp"
        android:layout_height="wrap_content"
        android:text="@string/bill_text"
        />
    <TextView 
        android:id="@+id/tv_bill1"
        android:layout_below="@+id/tv_service1"
        android:paddingLeft="215dp"
         android:textSize="12sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/bill_text1"
        />
  </RelativeLayout>
 <View
   android:id="@+id/place_view3"
   android:layout_width="fill_parent"
   android:layout_height="2dp"
   android:layout_marginTop="120dp"
   android:background="#5C5C5C"
    />
   <RelativeLayout
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
   android:layout_below="@+id/place_view3"
   android:paddingTop="10dp"
   android:paddingBottom="10dp"
    >
   <TextView 
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:paddingLeft="15dp"
        android:text="@string/request_text0"
        />
    <TextView 
        android:id="@+id/tv_request"
        android:layout_width="wrap_content"
        android:paddingLeft="100dp"
        android:textSize="12sp"
        android:layout_height="wrap_content"
        android:text="@string/request_text"
        />
    <TextView 
        android:id="@+id/tv_request1"
        android:paddingLeft="215dp"
         android:textSize="12sp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/request_text1"
        />
  </RelativeLayout>
  <View
   android:id="@+id/place_view4"
   android:layout_width="fill_parent"
   android:layout_height="2dp"
   android:layout_marginTop="160dp"
    />
  <RelativeLayout 
      android:layout_height="wrap_content"
      android:layout_width="match_parent"
      android:layout_below="@+id/place_view4"
      >
      <ExpandableListView 
          android:id="@+id/ex_notifi"
          android:layout_width="fill_parent"
          android:layout_height="wrap_content"
          ></ExpandableListView>

  </RelativeLayout>



   </RelativeLayout>
</LinearLayout>

私のシャーロックフラグメントクラスでは、すべてのテキストビューに同じリスナーがあります

      getView().findViewById(R.id.tv_viewplan).setOnClickListener(this);
  getView().findViewById(R.id.tv_plan1).setOnClickListener(this);
  getView().findViewById(R.id.tv_service).setOnClickListener(this);
  getView().findViewById(R.id.tv_service1).setOnClickListener(this);
  getView().findViewById(R.id.tv_bill).setOnClickListener(this);
  getView().findViewById(R.id.tv_bill1).setOnClickListener(this);
  getView().findViewById(R.id.tv_request).setOnClickListener(this);
  getView().findViewById(R.id.tv_request1).setOnClickListener(this);

私のonclickリスナーで

   switch(v.getId())
  {
    case R.id.tv_viewplan:
        System.out.println("Plan ids"  +v.getId());
        title= "My Plan"; tag = "viewplan_dialog";
        Utilsdialog dialog_vwplan = new Utilsdialog(context, R.layout.child, title, tag);
        dialog_vwplan.show(fm, tag);
         break;
    case R.id.tv_plan1:
     System.out.println("Plan ids"  +v.getId());
        title= "Change plan"; tag = "changeplan_dialog";
        Utilsdialog dialog_chgplan = new Utilsdialog(context, R.layout.child,title, tag);
        dialog_chgplan.show(fm, tag);
         break;
    case R.id.tv_service:
        Toast.makeText(getActivity(), "SELECTED VIEW SERVICE", Toast.LENGTH_LONG).show();
         break;

    case R.id.tv_service1:
        Toast.makeText(getActivity(), "SELECTED ADD SERVICE", Toast.LENGTH_LONG).show();
         break;
    case R.id.tv_request:

        Toast.makeText(getActivity(), "SELECTED TRACK REQUEST", Toast.LENGTH_LONG).show();
         break;
    case R.id.tv_request1:

        Toast.makeText(getActivity(), "SELECTED ADD REQUEST", Toast.LENGTH_LONG).show();
         break;
    case R.id.tv_bill:

        Toast.makeText(getActivity(), "SELECTED VIEW BILL", Toast.LENGTH_LONG).show();
         break;
    case R.id.tv_bill1:

        Toast.makeText(getActivity(), "SELECTED PAY BILL", Toast.LENGTH_LONG).show();
         break;

     }

問題は、tv_viewplan と tv_plan で同じ ID が生成され、tv_service と tv_servive1 で同じ ID が生成されることです。そのため、スイッチは間違ったブロックを呼び出します。どうすればこれが可能になるのかわかりません....助けてください

4

3 に答える 3

0

ID名が異なる別のビューは、同時に同じIDを持つことはできません。決してそしてこれまで。ビューごとに異なるID名があることを確認してください。ビューごとにタグをチェックする別の方法があり、ビューごとに一意のタグを割り当てる必要があります。しかし、論理的には最初のものが機能するはずです。

于 2013-02-01T08:01:47.543 に答える
0
プロジェクトをクリーンアップする必要があります。
Eclipseを使用している場合は、メニューでプロジェクトオプションを開き、プロジェクトのサブメニューでクリーンオプションを見つけてください。
プロジェクトを選択し、ポップアップウィンドウの[OK]ボタンをクリックします。
これが好きな場合は、プロジェクトに新しいIDを取得できます。
プロジェクトをクリーンアップした後に問題が発生した場合は、お知らせください。
于 2013-02-01T08:02:25.883 に答える
0

プロジェクトをクリーンアップして再構築し、各テキストビューで ID が重複していないことを確認してください

うまくいかない場合は、これを試してください

なぜすべてを削除しないのですか getView().findViewById(R.id.tv_viewplan).setOnClickListener(this);

android:onclick="clickText" クリック可能なすべての textView を追加 します

次に、この関数を追加します

 public void clickText(View v){
 //put your switch case here...
 }
于 2013-02-01T08:10:33.040 に答える