私はJavaとAndroidのプログラミングに非常に慣れていません。ListFragment を拡張するクラスに添付された xml ファイルに setContentView を使用する別のアクティビティを介して、あるアクティビティから変数のバンドルを渡す方法を見つけようとしています。基本的には、2番目のアクティビティでアクセスされるフラグメントから、1番目のアクティビティのデータにアクセスできるようにしたいです。これまでのところ、これを利用できるように調査しようとしてきたので、回答が既にここに存在する場合はご容赦ください。
次のことを行う Login.java というアクティビティがあります。
Intent intent = new Intent(this, ListActivity.class);
Bundle varBundle = new Bundle();
varBundle.putString("companyKey",companyKey);
varBundle.putString("techID",techID);
varBundle.putString("userID",userID);
varBundle.putString("startDate",startDate);
intent.putExtras(varBundle);
startActivity(intent);
ListActivity.java には、これまでのところ次のようなものがあります。
public class ListActivity extends Activity
{
public String companyKey;
public String techID;
public String userID;
public String startDate;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
Bundle vars = getIntent().getExtras();
companyKey = vars.getString("companyKey");
techID = vars.getString("techID");
userID = vars.getString("userID");
startDate = vars.getString("startDate");
setContentView(R.layout.fragmentlist);
}
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.list, menu);
return true;
}
}
コンテンツ ビューを fragmentlist.xml に設定します。
<?xml version="1.0" encoding="utf-8"?>
<fragment xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/titles"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:name="com.example.technicianappointmentlist.OrderList" />
Fragmentlist.xml は OrderList.java に関連付けられています。これは、ListActivity.java に渡されたバンドルからのデータにアクセスできるようにしたい場所です。
public class OrderList extends ListFragment
{
//THIS IS WHERE I WANT TO ACCESS THE VARIABLES PASSED INTO ListActivity.java
public OrderList()
{
super();
// TODO Auto-generated constructor stub
}
@SuppressWarnings({ })
@Override
public void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
}
}
これは可能ですか?これが初心者の質問である場合は申し訳ありませんが、これに対する答えはまだ見つかりません。
前もって感謝します。