java - 循环后没有得到任何结果,几乎完成
问题描述
所以,我一直在尝试开发一个应用程序,您可以在其中自己订购三明治。到目前为止,我已经使用列表视图管理了所有内容,您可以订购什么类型的三明治等。
然后我进入下一个活动,该活动应该显示用户选择的三明治,但不幸的是没有弹出任何内容。
如果您有第二个活动的替代代码,我会为它打开。
Code1 = 您在哪里订购什么三明治:
package com.example.boo.cafestudent;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListAdapter;
import android.widget.ListView;
import android.widget.Toast;
import java.util.ArrayList;
public class Order extends AppCompatActivity{
ArrayList<String> klickademackor = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.orderactivity);
String[] mackor ={"Ostsmörgås","Skinksmörgås","Ost och Skinksmörgås", "Salamismörgås","Räksmörgås",
"Rensmörgås", "Älgsmörgås", "Köttbullesmörgås"};
ListAdapter johansadapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, mackor);
//hämtar ListView
ListView mackorListView = (ListView) findViewById(R.id.ListViewMackor);
//Hämtar data från array stringen
// final String[] array_mackor = getResources().getStringArray(R.array.arraymackor);
//skapandet av en array adapter
//Själva adaptern till ListView
mackorListView.setAdapter(johansadapter);
//kopplar onClicklistener till Listvie
mackorListView.setOnItemClickListener(
new AdapterView.OnItemClickListener(){
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id){
String mackor = String.valueOf(parent.getItemAtPosition(position));
Toast.makeText(Order.this, mackor + " har lagts till", Toast.LENGTH_LONG).show();
klickademackor.add(mackor);
}
});
};
public void onClick (View View){
Intent i = new Intent (Order. this, Confirmation.class);
startActivity(i);
}}
Code2 = 假定使用 ID 为 textview2 的 textview 显示结果。
package com.example.boo.cafestudent;
import android.annotation.SuppressLint;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.TextView;
import android.widget.Toast;
import java.util.ArrayList;
public class Confirmation extends AppCompatActivity {
ArrayList<String> klickademackor = new ArrayList<String>();
private TextView textviewMackor;
@SuppressLint("WrongViewCast")
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.confirmationactivity);
textviewMackor = (TextView) findViewById(R.id.textView2);
for (String index : klickademackor) {
textviewMackor.append(index + "\n");
}
}
public void confirmation (View view){
Toast.makeText(this,"Din beställning är bekräftad", Toast.LENGTH_SHORT).show();
}
}
解决方案
在代码 1 中,您创建了一个数组列表,如下所示:
ArrayList<String> klickademackor = new ArrayList<String>();
并且您已在 setOnItemClickListener 方法中将选择的项目添加到此 ArrayList 中。现在,如果您想在另一个活动中获取此数组列表,那么您需要将此 ArrayList 连同此处的意图一起传递:
public void onClick (View View){
Intent i = new Intent (Order. this, Confirmation.class);
i.putStringArrayListExtra("myArrayList",klickademackor);
startActivity(i);
}}
这将传递您的 ArrayList 以及 Intent 对象 i ,您可以使用以下方法从另一个活动中接收该对象:
ArrayList arrayList<Integer> = getIntent().getStringArrayListExtra("myArrayList");
因此,在第二个活动中编写此代码并使用此 ArrayList 在文本视图中显示。我希望这有帮助。
推荐阅读
- java - 在 JPA 中不调用 getter 和 setter
- php - 仅在 PHP 中解码 JSON 的第一级
- c - Leetcode 问题在我的 IDE 中有效,但是如果我将其提交给 leetcode,则会发生 RuntimeError
- python - 如何在 ipywidgets 的选项卡中链接事件?
- c++ - 从 CGAL 3D 网格生成中获取 -6.27744e+66 的顶点坐标:mesh_implicit_sphere 示例
- java - 使用列字段名称删除一行 - SQlite (SQLiteOpenHelper Android)
- javascript - 将字符串从 onclick 传递给 Javascript 函数
- firebase - AngularFireAuth:无法读取未定义的属性“GoogleAuthProvider”
- android - 即使满足“如果条件”,按钮也不会设置为启用
- javascript - 反应组件中的错误传递道具