どのように入手できますか可読特定レイアウトのIDはありますか?私activity_miejsce.xmlファイルのインテントを送信するレイアウトの読み取り可能なIDを取得する方法は?
フラグメント:このレイアウトの
<LinearLayout
android:id="@+id/elementPlace"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:background="@drawable/layout_main_menu_selector"
android:clickable="true"
android:onClick="Place">
...
</LinearLayout>
活動:
public class PlacesActivity extends AppCompatActivity {
LinearLayout element;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_places);
element = (LinearLayout) findViewById(R.id.elementPlace);
}
public void Place(android.view.View v){
Intent place = new Intent(this, Miejsce.class);
place.putExtra("source", element.toString());
startActivity(place);
}}
Miejsce.java(私たちの意図の先):
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_miejsce);
Intent src = getIntent();
String source = src.getStringExtra("source");
TextView msg = (TextView) findViewById(R.id.napis);
msg.setText(getIntent().getStringExtra("source"));
Toast.makeText(getApplicationContext(), "Source: " + source, Toast.LENGTH_SHORT).show();
}
結果(トーストから): 出典:android.widget.LinearLayout {14e02738 VE..C。 ... P .... 0,165-1080,375#7f0c007e app:id/elementPlace}
Miejsce.javaはソースに依存するレイアウトを生成するため、特定のレイアウトのIDを使用します。 例:3つのレイアウト(ホテル、ガソリンスタンド、レストラン)があります。ユーザーがそのうちの1つ(@ + id/restaurant)をクリックし、ソース(トリガー)のIDでインテントが送信されました。 Javaコードは、レストランとの特別なレイアウトを生成しました。
http://stackoverflow.com/questions/10137692/how-to-get-resource-name-from-resource-id – Jackowski
それが働いて、ありがとうございます! – h3wro