2
特定のキーセットの値を別のアクティビティフォームに運ぶ方法を知る必要があります。私はキーとそのキーに含まれるすべての値を含むリストを持っています。ユーザーがリスト内のアイテムをクリックすると、クリックされた特定のアイテムの値が別のアクティビティに読み込まれるようにします。Java:キー設定値を取得
たとえば、リスト内のアイテムとしてRunningというキーセットがあり、そのセットの値がランのStartTimeとEndTimeの場合、そのセットに属するこれらの値だけを表示するにはどうすればいいですか次の活動。これは説明するのが難しいですが、私のコードで、私が求めていることを明確にすることを願っています。
public class ActivityLog extends Activity {
ListView listView ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_log);
// Get ListView object from xml
listView = (ListView) findViewById(R.id.list);
listView.setFriction(ViewConfiguration.getScrollFriction() * 0);
// ListView Item Click Listener
listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
int itemPosition = position;
String itemValue = (String) listView.getItemAtPosition(position);
// ListView Clicked item index
// ListView Clicked item value
// Show Alert
Toast.makeText(getApplicationContext(), "Position :"+itemPosition+" ListItem : " +itemValue , Toast.LENGTH_LONG).show();
}
});
}
@Override
protected void onStart()
{
SharedPreferences userInfo = getSharedPreferences("userData", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = userInfo.edit();
String myString = userInfo.getAll().keySet().toString();
String[] values = new String[] { myString };
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.activity_list_item, android.R.id.text1);
Map<String, ?> allEntries = userInfo.getAll();
for (Map.Entry<String, ?> entry : allEntries.entrySet()) {
Log.d("map values", entry.getKey() + ": " + entry.getValue().toString());
adapter.add(entry.getKey()+ ": " + entry.getValue().toString());
listView.setAdapter(adapter);
}
super.onStart();
}
public void showLog (View view){
Intent intent = new Intent(this, ActivityNewLog.class);
startActivity(intent);
}
public void deleteLog (View view){
SharedPreferences settings = getSharedPreferences("userData", Context.MODE_PRIVATE);
settings.edit().clear().commit();
getSharedPreferences("userData", 0).edit().clear().commit();
}
public void dataShow (View view){
Intent intent = new Intent(this, Log_Data.class);
startActivity(intent);
}
}
これは私が値をロードする活動です:
public class Log_Data extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_log__data);
TextView data = (TextView)findViewById(R.id.textView5);
SharedPreferences userInfo = getSharedPreferences("userData", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = userInfo.edit();
String myString = userInfo.getAll().keySet().toString();
String[] values = new String[] { myString };
//ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.activity_list_item, android.R.id.text1);
Map<String, ?> allEntries = userInfo.getAll();
for (Map.Entry<String, ?> entry : allEntries.entrySet()) {
data.setText(entry.getKey()+ ": " + entry.getValue().toString());
}
}
}
私は、私は彼らがTextViewの中に格納したい、また、言及する必要があります。