Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在SecondActivity中设置文本单击_Java_Android_Listview - Fatal编程技术网

Java 如何在SecondActivity中设置文本单击

Java 如何在SecondActivity中设置文本单击,java,android,listview,Java,Android,Listview,我需要在单击项目时在SecondActivity中设置文本,但文本必须根据项目的不同而不同。我在单击项目时出错,但它不工作。你能告诉我如何将文本从第一个活动设置到第二个活动吗 第一项活动: final String[] setP = { "P1", "P2", "P3", "P4", "P5", "P6", "P7", "P8", "P9" }; final ListAdapter theAdapter = new ArrayAdapter<String>(this, androi

我需要在单击项目时在SecondActivity中设置文本,但文本必须根据项目的不同而不同。我在单击项目时出错,但它不工作。你能告诉我如何将文本从第一个活动设置到第二个活动吗

第一项活动:

final String[] setP = { "P1", "P2", "P3", "P4", "P5", "P6", "P7", "P8", "P9" };

final ListAdapter theAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, setP);
final ListView theListView = (ListView) findViewById(R.id.theListView2);
theListView.setAdapter(theAdapter);

theListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
        String itemPicked = "Selected: " + String.valueOf(adapterView.getItemAtPosition(position));
        Toast.makeText(MainActivity.this, itemPicked, Toast.LENGTH_SHORT).show();

        Intent intent = new Intent(getApplicationContext(), SecondActivity.class);
        intent.putExtra("newsId", "1");
        MainActivity.this.startActivity(intent);


        String chosen = String.valueOf(adapterView.getItemAtPosition(position));

        if (chosen == "P1") { // doesn't work
            SecondActivity.displayR.setText("EXAMPLE FOR P1");
        } else if (chosen.equals("P2")) { // doesn't work
            SecondActivity.displayR.setText("EXAMPLE FOR P2");
        }
    }
});

您需要将所选项目的名称输入到Intent,并在Intent的第二个活动中获取其名称,如下所示:

第一项活动

theListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
        String itemPicked = "Selected: " + String.valueOf(adapterView.getItemAtPosition(position));
        Toast.makeText(MainActivity.this, itemPicked, Toast.LENGTH_SHORT).show();

        Intent intent = new Intent(getApplicationContext(), SecondActivity.class);
        intent.putExtra("newsId", "1");


        String chosen = String.valueOf(adapterView.getItemAtPosition(position));

        if (chosen == "P1") { // doesn't work
            intent.putExtra("name", "p1");
        } else if (chosen.equals("P2")) { // doesn't work
            intent.putExtra("name", "p2");
        }

        MainActivity.this.startActivity(intent);
    }
});  

活动打开时没有错误,但没有文本视图
theListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
        String itemPicked = "Selected: " + String.valueOf(adapterView.getItemAtPosition(position));
        Toast.makeText(MainActivity.this, itemPicked, Toast.LENGTH_SHORT).show();

        Intent intent = new Intent(getApplicationContext(), SecondActivity.class);
        intent.putExtra("newsId", "1");


        String chosen = String.valueOf(adapterView.getItemAtPosition(position));

        if (chosen == "P1") { // doesn't work
            intent.putExtra("name", "p1");
        } else if (chosen.equals("P2")) { // doesn't work
            intent.putExtra("name", "p2");
        }

        MainActivity.this.startActivity(intent);
    }
});  
public static TextView displayR;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_recipe);

    displayR = (TextView) findViewById(R.id.textR);
    String name = getIntent().getStringExtra("name");
    displayR.setText(name);
}