0

ちょっとした質問です。私はAndroidの真の初心者ですので、ご容赦ください。

ある種の図書館活動をする必要があります。約 30 個のキーワードのリストが必要です。キーワードをクリックすると、別の画面に移動してコンテンツ (およびおそらく画像) が表示されます。例:キーワード:ロンドンコンテンツ: これは blabla の都市です。それは簡単です。

これを行う最も簡単な方法は何ですか? リンクやサンプルコードは本当に素晴らしいでしょう! もちろん、簡単な答えも役立ちます。

4

2 に答える 2

1

最初に: 新しいプロジェクトで既に が作成されているかどうかを確認します。作成されていない場合は、フォルダー内に をactivity_main.xml作成して、後で に割り当て、名前を付けます。Android XML Layout/res/layoutActivityactivity_main.xml

レイアウトでは、 内に を追加したり、そのキーワードを表現したいものを追加LinearLayoutTextViewたりできます。

注 1:android:id=""後でコードで使用するため、覚えやすい名前を付けてください。

次に、onCreateメソッドに移動してMainActivity.java、次のコード行を記述します。

this.setContentView(R.layout.main_activity.xml);

クラス宣言のMainActivity.java直後に、作成した要素の変数を次のように宣言しますactivity_main.xml

LinearLayout londonKeywordLayout = null; 
TextView     londonKeyword       = null;

LinearLayout anotherKeywordLayout = null; 
TextView     anotherKeyword       = null;

String TitleString;
String DetailString;
String ImgPathString;

LinearLayoutTextViewimportsを含めることを忘れないでください。Ctrl + Shift + O を使用して、インポートを自動的に行うことができます。

次に、メソッドに戻り、この方法onCreateの要素に変数を割り当てます。activity_main.xml

londonKeywordLayout = (LinearLayout) findViewById(R.id.londonKeywordLayoutID);
londonKeyword       = (TextView)     findViewById(R.id.londonKeywordID);

"londonKeywordLayoutID"たとえば、注1で述べたように、必要に応じて変更してください。

DetailActivity次に、上で説明したのと同じ方法を使用して、すべてのキーワードの詳細を処理および表示するを作成する必要があります。

次に、割り当てた直後に、onClickイベントを設定して詳細を開くことができますActivity

OnClickListener keywordListener = new OnClickListener() {

  @Override
  public void onClick(View v) {

    if (v.getId() == 1){
      DetailString  = "London details";
      TitleString   = "London.";
      ImgPathString = "the path to london img"; 
    }
    if (v.getId() == 2){
      DetailString  = "another details";
      TitleString   = "another.";
      ImgPathString = "the path to another img";         
    }
    Intent i = new Intent(this,DetailActivity.class)
    i.putExtra("DETAILTEXT", DetailString);
    i.putExtra("TITLE", TitleString);
    i.putExtra("IMAGEPATH", ImgPathString);
    startActivityForResult(i, 1);

  }
};

londonKeywordLayout.setOnClickListener(keywordListener);
londonKeywordLayout.setId(1) //1 for london.
anotherKeywordLayout.setOnClickListener(keywordListener);
anotherKeywordLayout.setId(2) //2 for another.

他のすべてのキーワードに対して同じことを行います。

上記でxmlの作成とレイアウトとテキストビューの宣言について説明したすべてのDetailActivity.javaことを行いますが、現時点では、すべてのキーワードに使用される1つだけを作成し、動的になります。クラス宣言の後にこれらの変数を宣言します。

String detailText;
String titleText;
String imgPath;

メソッドに移動して、この方法でonCreate送信した値を取得する必要があります。Intent

    Bundle extras = getIntent().getExtras();
    detailText    = extras.getString("DETAILTEXT");
    titleText     = extras.getString("TITLE");
    imgPath       = extras.getString("IMAGEPATH");

次に、.setText(detailText)のタイトルに使用するTextView必要がDetailActivityあり、他の文字列でも同じことを行い、画像を処理してDrawing.

基本的には、何か助けがあれば、ここにコメントしてください。私はあなたを助けようとします.

幸運を。

于 2013-11-13T13:13:38.347 に答える
0

ADT で Eclipse を使用している場合は、[New] -> [Android Application Project] で開始できる [New Android Application] ウィザードからマスター/詳細フローを使用できます。

于 2013-11-13T12:27:19.070 に答える