【问题标题】:How to add a split text on a spinner on android?如何在android上的微调器上添加拆分文本?
【发布时间】:2015-06-05 16:18:35
【问题描述】:

我在 android studio 上创建了一个套接字程序。现在,当客户端在服务器上收到一条消息时(消息可能会有所不同)。客户端将拆分消息并将其显示在下一个活动中。我尝试在 EditText 上显示它并且它有效。现在我想在 Spinner 上实现它。我该怎么做?这是我的代码以获取更多信息。

主活动

 android.view.View.OnClickListener ScanOnClickListener = new View.OnClickListener() {

    public void onClick(View v) {

        SocketHandler.getSocket().SendScan();
        Handler handler = new Handler();
        handler.postDelayed(new Runnable() {
            public void run() {
                SocketHandler.setSocket(thread);
                Intent i = new Intent(MainActivity.this,Page2.class);
                startActivity(i);
            }
        }, 3000);
        Intent i = new Intent(MainActivity.this,Page2.class);
        startActivity(i);


    }

};

下一个活动

public class Page2 extends Activity {


private EditText a,b,c,d,e,f;


SocketClient thread;


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

    a = (EditText) findViewById(R.id.editText);
    b = (EditText) findViewById(R.id.editText1); 
    c = (EditText) findViewById(R.id.editText2); 
    d = (EditText) findViewById(R.id.editText3); 
    e = (EditText) findViewById(R.id.editText4); 
    f = (EditText) findViewById(R.id.editText5); 


    Thread socketdataThread = new Thread(new SocketdataThread());
    socketdataThread.start();
}


private class SocketdataThread extends Thread {


    @Override
    public void run() {

        String[] response = SocketHandler.getSocket().Socketdata.split("||");


       a.setText(response[0]);
        b.setText(response[1]);
        c.setText(response[2]);
        d.setText(response[3]);
        e.setText(response[4]);
        f.setText(response[5]);



        }

    }
}

如您所见,我使用 String[] response = SocketHandler.getSocket().Socketdata.split("||");拆分服务器的消息。消息是变化的,例如 (data1||data2) 或 (data1||data2||data3) 等等。

更新:下一个活动

public class Page2 extends ActionBarActivity {

private String array_spinner[];
SocketClient thread;


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

    Spinner s = (Spinner) findViewById(R.id.spinner);



    Thread socketServerThread = new Thread(new SocketServerThread());
    socketServerThread.start();
}


private class SocketServerThread extends Thread {


    @Override
    public void run() {

        String[] response = SocketHandler.getSocket().Socketdata.split("||");
        List<String> data = new List<String>();
        for(String resp:response)
        {
            data.add(resp);
        }
        ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, lables);
        dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
        s.setAdapter(dataAdapter);


    }
}

}

【问题讨论】:

    标签: android sockets client spinner


    【解决方案1】:
    String[] response = SocketHandler.getSocket().Socketdata.split("\\|\\|");
    List<String> data = new List<String>();
    for(String resp:response)
    {
        data.add(resp);
    }
    ArrayAdapter<String> dataAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, lables);
    dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
    yourSpinner.setAdapter(dataAdapter);
    

    【讨论】:

    • 是否可以使用 spinner 来获取拆分消息?
    • 你想在微调器中显示数据吗?
    • 先生,我想我在 ArrayAdapter dataAdapter = new ArrayAdapter(this,android.R.layout.simple_spinner_item, lables); 上遇到问题,我会更新我的问题。
    猜你喜欢
    • 2013-11-20
    • 1970-01-01
    • 1970-01-01
    • 2016-12-12
    • 1970-01-01
    • 2014-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多