gpt4 book ai didi

Java:获取键集值

转载 作者:行者123 更新时间:2023-11-30 10:36:03 27 4
gpt4 key购买 nike

我需要知道如何将某个键集的值携带到另一个 Activity 表单中。我有一个列表,其中包含一个键和该键中的所有值。我想要它,以便当用户单击列表中的项目时,另一个 Activity 将加载所单击的特定项目的值。

例如,如果我有一个名为 Running 的键集作为列表中的一项,并且该集的值是运行的 StartTime 和 EndTime,我如何才能将属于该集的这些值显示到下一个 Activity 。这很难解释,但我希望我的代码能清楚地说明我的要求。

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);

}

这是我要加载值的 Activity :

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 中。

最佳答案

将值保存到一个字符串中,并使用 onItemClick 监听器上的 Bundle 将值传递给其他 Activity ,从其他 Activity 中检索值。例如-

第一个 Activity

Intent i = new Intent(this, secondActivity.class);
//Create the bundle
Bundle bundle = new Bundle();
//Add your data from getFactualResults method to bundle
bundle.putString("TAG", yourvalue);
//Add the bundle to the intent
i.putExtras(bundle);
startActivity(i);

在第二个 Activity 中

Bundle bundle = getIntent().getExtras();

//Extract the data…
String something = bundle.getString("TAG");

//Create the text view
TextView textView = new TextView(this);
textView.setText(TAG);

关于Java:获取键集值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40797325/

27 4 0
文章推荐: java - 事务未在 Spring + Hibernate + JPA 设置中创建
文章推荐: java - 如何在 Java Servlet 中获取文件的路径
文章推荐: java - 返回类型 ResponseEntity 和 ResponseEntity 和 ResponseEntity 有什么区别