2011-01-09 14 views
0

私はAndroid SDKの周りで自分のやり方を学びたいと考えているうちに、いくつかのアプリを作っています。私は最近、私は例えば、定義された私のレイアウトなどのEditText要素とのトラブルのビットを...持っていた非緊急でないAndroidのレイアウトID属性が奇妙なもの

私はこれを利用して活動を開始しようとしたときにアプリケーションがしかし、正しくコンパイルされた
<?xml version="1.0" encoding="utf-8"?> 

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent"> 

    <EditText 
     android:id="@+id/price_per_pack" 
     android:layout_width="100dip" 
     android:layout_height="wrap_content" 
     android:layout_alignParentRight="true"/> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_toLeftOf="@id/price_per_pack" 
     android:layout_alignParentLeft="true" 
     android:textSize="12pt" 
     android:text="Price Per Pack"/> 

</LinearLayout> 

レイアウトは何も起こりません。除去のプロセスを通じて、私は面倒な一つとして、id属性を識別し、約遊んでいる間、私は

android:id="@+android:id/price_per_pack" 

android:id="@+id/price_per_pack" 

を変更することを発見し、私の問題と期待通りに振る舞ったアプリケーションを解決しました。 id属性を宣言するための私の最初の試みは、SDKドキュメントの例に基づいていたので、なぜ私はそれを動作させるために上記の変更を行う必要があるのか​​誰かが私に説明できるかどうか疑問に思っています。

私は確かに違いはありませんが、私はandroid-mode.el emacsプラグインを使って開発しており、SDKの完全な最新版を持っています。

ありがとうございます。 Android Documentationから

+2

あなたが行った変更は、おそらく正しくない可能性があり、何も影響してはいけません。実際、私はそれがそのように機能するのに驚いています。あなたのコードを見せて、「働いていない」と「働く」という意味を教えてください。 – Falmarri

+0

LinearLayoutでRelativeLayoutレイアウトパラメータを使用することとは関係ありませんか? – Qberticus

+0

:)よく尋ねられたQberticus。私はすぐに開いたバッファからいくつかのコードを貼り付け、私の "問題"の最も単純な表現に変えました、したがって無効な属性です。私はSDKのドキュメンテーションのいくつかの例では@android:id形式を使用していますが、他のものは@ + id形式を使用していることに気付きました。 – papercup

答えて

0

代わりにAndroidのパッケージの名前空間では、我々は今はなくローカルのリソースクラスよりも、android.RリソースクラスからIDを参照しています。

投稿されたコードに構文エラーがあるようです。

関連する問題