gpt4 book ai didi

java - Android getapplication() 数据

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

我正在使用 getHotelName()setHotelName() 在应用程序中存储数据,然后访问它。在我分类为 Launcher 的主要 Activity 中,方法和 getApplication() 都在该 Activity 中工作。但是当我尝试从从主 Activity 调用的不同 Activity 访问 getApplication 时,它会出现强制关闭错误。

这是我的 list 文件:

<application android:icon="@drawable/icon" android:label="@string/app_short_name" android:name="RestaurantNetwork" android:allowClearUserData="true" android:theme="@android:style/Theme.Black" >

<activity android:name="RestaurantActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<activity android:name="NetworkCommunication"></activity>

<uses-permission android:name="android.permission.INTERNET" />

</application>

在主要 Activity 中

RestaurantNetwork application = (RestaurantNetwork) getApplication();
application.setHotelName(this.hotelname.getText().toString());
Intent intent = new Intent(view.getContext(), NetworkCommunication.class);
startActivity(intent);

在网络通信 Activity 中

public class NetworkCommunication extends Activity {
RestaurantNetwork application = (RestaurantNetwork) getApplication();
String hotelname = application.getHotelName().toString();

@Override
public void onCreate(Bundle savedInstanceState) {

最佳答案

我使用 intent.extra 解决了它,是的,我不得不摆脱 getApplication()。还是想知道为什么prev方法出错了

在我的主要 Activity 中

    this.hotelname = (EditText) findViewById(R.id.HotelName);

//RestaurantNetwork application = (RestaurantNetwork)getApplication();
//application.setHotelName(this.hotelname.getText().toString());

Intent intent = new Intent(view.getContext(), NetworkCommunication.class);
intent.putExtra("hotelName",this.hotelname.getText().toString());
startActivity(intent);

在我的第二个 Activity 中

    public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.searchresults);

String value = null;

Bundle extras = getIntent().getExtras();
if(extras !=null)
{
value = extras.getString("hotelName");
}

Toast.makeText(getApplicationContext(),value, Toast.LENGTH_SHORT).show();

关于java - Android getapplication() 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6730419/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com