Я новичок в многопользовательском программировании. Как установить String
в значение hashmap? Я хочу вызвать свойства hashmap из RoomListActivity и установить его значение для активности QuizMaintain, а также я хочу установить значение hashmap из класса QuizMaintain в textview. Вот мой пример кодаAppwarp Android Programming get Property from Room List Activity
RoomListActivity
public void onJoinNewRoomClicked(View view){
progressDialog = ProgressDialog.show(this,"","Please wait...");
progressDialog.setCancelable(true);
HashMap<String, Object> properties = new HashMap<String, Object>();
properties.put("timer", "");
properties.put("question", "");
properties.put("answer", "");
properties.put("foulanswer", "");
theClient.createRoom(""+System.currentTimeMillis(), "Yoshua", 2, properties);
}
Тогда я хочу, чтобы установить это значение от деятельности QuizMaintain
public class QuizMaintain extends Activity implements RoomRequestListener, NotifyListener {
private WarpClient theClient;
private HashMap<String, Object> properties;
private TextView txttimer,txtquestion;
private String roomId = "";
private HashMap<String, User> userMap = new HashMap<String, User>();
String string="5x5#5x4#150:3#500:20#536+59";
String[] questions = string.split("#");
String question1 = questions[0];
String question2 = questions[1];
String question3 = questions[2];
String question4 = questions[3];
String question5 = questions[4];
@Override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_quiz_maintain);
txttimer = (TextView)findViewById(R.id.timer);
txtquestion = (TextView)findViewById(R.id.questionview);
try{
theClient = WarpClient.getInstance();
}catch(Exception e){
e.printStackTrace();
}
theClient.getLiveRoomInfo("143680827");
Intent intent = getIntent();
roomId = intent.getStringExtra("roomId");
init(roomId);
//setquestionview();
}
private void init(String roomId){
if(theClient!=null){
theClient.addRoomRequestListener(this);
theClient.addNotificationListener(this);
theClient.joinRoom(roomId);
}
}
@Override
public void onGetLiveRoomInfoDone(LiveRoomInfoEvent event) {
properties = event.getProperties();
properties.put("question", question1);
}
Я хочу, чтобы установить значение HashMap где ключ является «вопросом». И значение, которое я хочу установить, связано с разделенной строкой. Когда я спрошу их службу поддержки, хочу ли я получить свойства комнаты, я должен вызвать метод getLiveRoomInfo и передать идентификатор roomID в качестве аргумента. Немного смущает здесь. Благодарю.
Но, похоже, моя проблема еще не решена. После вызова метода updateRoomProperties, но я получил еще одну ошибку здесь. Говорят, что WarpClient.AddZoneRequestListener (this) возвращает исключение нулевого указателя