0

私は次のフラグメント、IdentificationFragmentを持っています

このフラグメントに初期画面をロードしてもらい、ボタンを押したときにビューを切り替えたいと思います。(識別顔、識別rfid、識別音声)最終的に。しかし、フラグメント自体の内部でこれを処理するのに問題があります。

これは、フラグメントが現在どのように見えるかです。

public class IdentificationFragment extends Fragment {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, 
    Bundle savedInstanceState) {

    return inflater.inflate(R.layout.identification_face, container, false);
}

これが私のidentification_face.xmlレイアウトです:

<?xml version="1.0" encoding="utf-8"?>

<ViewSwitcher xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/identificationSwitcher"
  android:layout_width="fill_parent" 
  android:layout_height="fill_parent">    
<RelativeLayout 
  android:layout_width="match_parent"
  android:layout_height="match_parent" >
 <Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignLeft="@+id/textView1"
    android:layout_below="@+id/textView1"
    android:onCLick="nextView"
    android:text="Next View" />
  <TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/imageView1"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:layout_toRightOf="@+id/imageView1"
    android:gravity="center_vertical"
    android:text="@string/article2" />

より一般的なもの、および別の相対レイアウト

  </RelativeLayout>
  </ViewSwitcher>

ここで提供されている例に従っていますが、フラグメントの代わりにアクティビティを使用しています。

onCLick()を介したフラグメントメソッドのターゲティングに関連する問題が原因で、これが可能かどうかはわかりません。

私は自分のフラグメント内でこのコードを使用しようとしましたが、私はより多くの害を及ぼしているようです。

public void onCreate(Bundle savedInstanceState, LayoutInflater inflater) {
    super.onCreate(savedInstanceState);
    inflater.inflate(R.layout.identification_face, article_container);
    ViewSwitcher switcher = (ViewSwitcher) findViewById(R.id.identificationSwitcher);
}

うまくいけば、これが可能です。フラグメントを使用する理由は、アプリケーションがリアルタイムのビデオ処理をロードするため、別のアクティビティの開始を排除するためです。このフラグメント内でのみ使用したいと思います。

私はこの機能を備えたdeveloper.androidに多くの時間を費やしてきましたが、あまり役に立ちません。

ありがとう!

4

1 に答える 1

2

セットアップはほぼ完了しているようです。onCreateViewメソッド内でビューを見つける必要があります。

以下は、ViewSwitcherのセットアップ方法と、button1がクリックされた場合にビュースイッチをトリガーする方法の例です。

ViewSwitcher mViewSwitcher;

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
   View root = inflater.inflate(R.layout.identification_face, container, false);
    mViewSwitcher = root.findViewById(R.id.identificationSwitcher);
    Button button1 = root.findViewById(R.id.button1);
    button1.setOnClickListener(new OnClickListener()
   { 
        @Override
        public void onClick(View v)
        {
          mViewSwitcher.setDisplayedChild(1);
        }
    });

    return root;
  }

setDisplayedChildは、ViewSwitcherがビューを切り替えるために使用するメソッドです。0は最初のビューのインデックスです。

幸運を

于 2012-09-18T05:30:30.277 に答える